Skip to main content

Full text of "CBM 8-Bit Magazine Index: Compute's Gazette Special Section"

See other formats


FASTEST PCs % 


THE LATEST 
SPEED DEMONS 


TOP 

WINDOWS APPS! — ” 
PICK THEIR 10 
FAVORITE 

- PROGRAMS 
LUS! 


e | 

thbhaid Pa vero atoms 
VISUAL C++ ch aT Vena AA aa aaa | 
GREAT GOLF GAMES pp Br ay Fr we ey ea ste =| a ¢ is 
BIOS BASICS or E = Mt ut Ue belf ea eat ol i — = = = : - 


Sees ea A 
ESTED ASIANS 20 FEST 


64/128 VIEW 


Gazette celebrates its tenth 
birthday with this issue—and launches a 
new column to help celebrate. 


Tom Netsel 


hat were you doing 
ten years ago this 
month? If you hap- 
pened to visit a news- 
stand, you may have picked 
up a new magazine called 
COMPUTE!'s Gazette. 
| was working at the Uni- 
versity of Central Florida in 
Orlando, and | had just 
bought a 64. | was wonder- 
ing what to do with it when | 
spotted a Gazette at my lo- 
cal grocery store. I'll have to 
confess that | missed the 
first issue. | didn't see Ga- 
zette until the second issue 
hit the newsstand, but I've 
been hooked ever since. 
Gazette was billed original- 
ly as being “for owners and 
users of Commodore VIC-20 
and 64 personal comput- 
ers." As time passed and 
Commodore introduced the 
Plus/4, the 16, and the 128, 
Gazette's coverage expand- 
ed to those machines. But 
when the smoke finally set- 
tled over the personal com- 
puter battlefield, the 64 and 
128 emerged as the survi- 
vors, and Gazette narrowed 
its editorial focus to those 
Commodore veterans. 
Speaking of veterans, as 
| browse through the mast- 
head of that first issue, | see 
the names of four people 
who are still associated with 
the magazine. Regular read- 
ers will recognize colum- 
nists Jim Butterfield and 
Fred D'lgnazio, but two oth- 
er veterans may not be as 
familiar. Terry Cash is now 
copy production manager, 
and De Potter is production 
manager. Without their val- 
ued assistance, there 
wouldn't be any magazine. 
Editorial’s staff has 
changed frequently, but Ga- 
zette’s goal of providing its 
readers with the best of Com- 


modore-related information 
and entertainment has not 
changed. In large measure, 
each Gazette editor has re- 
lied on 64 and 128 owners 
who are willing to share 
their knowledge with our 
readers. From that first issue 
through the one you read to- 
day, we’ve encouraged you 
to submit articles and pro- 
grams for publication. That 
need is just as strong today 
as it was a decade ago. 
Some things don’t change. 

Change is inevitable, how- 
ever, and you'll see it in this 
issue with the addition of a 
new column. Over the years 
we've published original pro- 
grams and reviewed com- 
mercial software, but we've 
seldom covered public do- 
main programs and share- 
ware—until now. GEOS col- 
umnist Steve Vander Ark ex- 
amines this vast source of 
programs in his new col- 
umn, “PD Picks.” 

The programs Steve will re- 
view and recommend can 
be found on_ bulletin 
boards, commercial online 
services, user group librar- 
ies, and elsewhere. If you 
can't locate a convenient 
source for these programs, 
look for them on our month- 
ly Gazette Disks. These pro- 
grams—unlike the Gazette 
type-ins—are not copyright- 
ed, and you may distribute 
them freely. All we ask is 
that you honor the fee re- 
quests of shareware authors 
if you use their programs. 

In closing, I'd like to 
thank all of you devoted 
Commodore users for your 
support over the past ten 
years. Without your help, Ga- 
zette would have folded 
years ago. But with it, look 
for Gazette each month for 
years to come. o 


GAZETTE 


64/128 VIEW G-1 


Gazette marks a milestone with this issue—ten years 
of serving the 8-bit Commodore market. 
By Tom Netsel. 


11 YEARS IN 8-BIT HEAVEN G-3 


In 1982, dozens of home computers were struggling 
to pull ahead of the pack—then, along came the 
Commodore 64. 

By Larry Cotton. 


REVIEWS 


Jara-Tava, Mathbooster, and Flyer. 


FEEDBACK 


Questions, answers, and comments. 


PD PICKS 


This new column focuses on the best of public 
domain and shareware programs. 
By Steve Vander Ark. 


MACHINE LANGUAGE G-18 


To read a file successfully, you must know how it ends. 
By Jim Butterfield. 


G-8 


G-14 


G-16 


PROGRAMMER’S PAGE G-20 
More great programming tips from readers. 

By Randy Thompson. 

BEGINNER BASIC G-22 
Here's how to activate your user port. 

By Larry Cotton. 

D’IVERSIONS G-24 
The 64 can be a toddler's ideal first computer. 

By Fred D'Ignazio. 

PROGRAMS 

Ultimate ML Monitor (64) G-25 
Rascals (64) G-31 
Scud (64) G-33 
Cryptarithm Solver (64) G-36 
Flasher 64 G-37 
Type-Sim (64/128) G-39 


JULY 1993 COMPUTE 


Gt 


PUMP UP 


YOUR PRODUCTIVITY! 


i The Gazette Graphics 
Harness the potential of your, Getta 


64 and 128 with these Do it all with Commodore 

graphics! 
powertul programs. fee Wet een i- 
Get more work out of your 64 and 128 Seca Deane 128 
with these two new disk products from 128 Graphics Compactor, 


64 Animator, VDC Graphics, 
issolve 128, Super Slideshow, 
128 Animator, 1526 PrintScreen, 


COMPUTE's Gazette — the 1992 
Best of Gazette Utilities, and 


the Gazette Graphics Grab Supratechnic, Medium-Resolution 
Bag! Graphics, Screen Maker, GAS!64— 
The 1992 Best of Special Edition, GAS!128-Special 
Gazette Utilities paren 
Seize control of your operating 

system and your world! 


Here's what's on it-MetaBASIC 64, 
MetaBASIC 128, Quick, Sprint Il, 
Ultrafont+, RAMDisk 64, RAMDisk 128, 
BASSEM, SciCalc 64, List Formatter, 
MegaSaueeze. 


a SS SSS 


| ___ Check or Money Order __ MasterCard _ VISA 
| want to pump up my productivity! Please send me the 
| @ disks checked below at $11.95 each. Credit Card No. Exp. Date 


| : 
| __The 1992 Best of Gazette Utilities Saree aaa 
___ The Gazette Graphics Grab Bag Daytime Telephone No. 
lia Subtotal ene 
___ Sales Tax (Residents of NC and NY please add appropriate sales tax for your 
| area. Canadian orders, add 7% goods and services tax.) Address 
| _— Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City 
| airmail per disk.) 
| __ total Enclosed State/Province ZIP/Postal Code 
| 
| 


F Nail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, 
L MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. 


YEARS IN 8-BIT HEAVEN 


BY LARRY COTTON 


THE YEAR WAS 1982. 


The Vietnam War Memorial was dedicd in Washington, D.C. 
England and Argentina fought over the Falkland Islands. 
The Equal Rights Amendment lapsed without ratification. 
The St. Louis Cardinals won the World Series. 


Barney Clark became the first person to receive an artificial heart, 
the Jarvik-7. 


And in the autumn of that year, the Commodore 64 personal — 
computer was born. 


ommodore International, a dar- 

ling of Wall Street investors at 

that time, was known primarily 
for its calculators; the PET series of 
computers; and a successful, albeit 
memory-deficient older sibling of the 
64, the VIC-20. The company was run 
by the inimitable Jack Tramiel and 
sons, a team famous for squeezing 
the most bang from a buck. 

The personal computer market was 
in a frenzy at the time, and Tramiel 
brazenly introduced a new computer 
called the Commodore 64. This new 
machine was priced at $595, a ridicu- 
lously low price for that time. A disk 
drive or a monitor were extra. 


The Field 
The 64's major competitors were the 
Apple |l+ ($1,530), Atari 800 ($899), 
IBM PC ($1,565), and TRS-80 Model 
Ill ($999). The 64 was exactly the 
machine the world had been holding 
its breath for, with a third more built-in 
memory than the Apple Il+—four 
times more than the Atari 800—yet 
priced at two to three times less than 
the Apple and a third less than the 
Atari. 

The 64 featured (as it does today) 
a breathtaking 16 colors; 40 charac- 
ters per screen row; eight Movable 
Object Blocks (sprites); and, best of 
all, an unbelievable 64K of random 
access memory, 39K of which was 
available for BASIC programs. Even 
without a drive and color monitor, the 
64 was still far and away the feature 
leader with outstanding color, graph- 
ics, and an integral three-voice music 
synthesizer. Its musical talents alone 
rivaled those of many dedicated: key- 
board synthesizers at the time. 

| must confess that | was not one of 
the original personal computer enthu- 
siasts. | hadn't assembled an Altair in 
my basement back in the 1970s. My 
computer-related background consist- 
ed of occasionally perusing Byte mag- 
azine and assembling a few Circuit 
Cellar projects. Later, my interest 
expanded into creating some original, 
but primitive, rats-nest circuits around 
various Radio Shack chips. One such 
device featured four toggle switches 
to input data to a tone-generating 
chip. It could play tunes stored in its 
minuscule 1K of memory! | began to 
see the need for a real computer. 


Full List Price 

After extensive comparative research, 
| decided to invest in a 64. | bought 
the shiny little machine (serial number 
10917, with no colored bars in the 
logo) from a nearby dealer for full list 
price. | sold my prized 1959 Mer- 
G-4 COMPUTE JULY 1993 


cedes to raise the cash to finance it. 
In addition to the computer, | proudly 
took home a disk drive (instead of the 
more common Datassette tape drive), 
a printer, and a 13-inch color televi- 
sion to use as a monitor.My sons, 
David and Michael (then 13 and 10), 
and | cleared some working space 
and unpacked each component with 
loving care. With great anticipation 
and excitement, we connected the 
parts with cables, plugged them into 
the wall, and gingerly threw the power 
switches. Everything worked beautiful- 
ly! We were thrilled! 

As we tentatively put our new toy 
through its paces, we marveled at its 
wondrous capabilities. The only 
demonstration program our Com- 
modore dealer supplied with the 64 (in 
anticipation of a wildly successful 
Christmas selling season) showed 
Santa Claus sailing around a chimney 
and surrounded by flurrying snow, all 
the while accompanied by back- 
ground music playing “Jingle Bells.” 


Software Shortage 

Our giddiness soon diminished with 
the slow dawning that, however won- 
derful the computer itself was, 


Commodore had introduced the 64 
with virtually no available software. 
The company's first ads had vaguely 
promised a word processor; a data- 
base; a spreadsheet; and several 
games, including Gorf, Visible Solar 
System, Radar Rat Race, Mole Attack, 
Avenger, Ace of Aces, and Jupiter 
Lander. 

With a dearth of software, we duti- 
fully turned to the user's guide and 
began teaching ourselves to program 
in BASIC. My first program (beyond 
the sophisticated 10 PRINT “HELLO”) 
was one | called Tunnels. This gem 
printed multicolored rectangles to the 
screen that overlapped in increasing 
and decreasing sizes. It was eventual- 
ly published in a series of demos 
called “Baker's Dozen” that were pub- 
lished in the January and February 
1985 issues of COMPUTE!’s Gazette. 
(That was back when COMPUTE had 
an exclamation point.) 


Magazine Scene 

After tiring of driving 45 miles every 
month to my dealer, | started a sub- 
scription to COMPUTE! in February 
1983 and voraciously read every word 
written about the 64. That was when 
COMPUTE carried articles and type-in 
programs for all of the popular PCs of 
the day. Charles Brannon, Jim 
Butterfield, and Richard Mansfield 
became my gurus of the 64, educat- 
ing me on every aspect and minutiae 
of video, inputs, outputs, machine lan- 
guage, and math. | snipped hundreds 
of articles from that magazine and 
from Gazette after it premiered in July 
1983. 

Articles in that first Gazette includ- 
ed a review of the strange Exatron 
Stringy Floppy, a mass storage device 
that's sort of halfway between a cas- 
sette recorder and a disk drive. There 
was a column by Fred D'Ignazio 
called “Computing for Kids,” and tuto- 
rials on sound, reading paddles in 
BASIC, accelerated IF statements, 
and joysticks. | still have my volume 1, 
number 1 safely stashed away with 
other prized memorabilia. 

Many other Commodore-specific 
magazines have appeared—and dis- 
appeared—during the past 11 years, 
among them Ahoy!, Commander, 
Transactor, Midnight Gazette, 
Commodore Magazine, Power Play, 
and RUN. Today, only the Gazette 
section of COMPUTE remains. 


Software at Last 

Commercial software soon started to 
catch up with 64 sales, and’! could 
finally put my 64 to work. Among the 
first programs | bought for the 64 were 


Since the Commodore 64's debut in 1982, worldwide sales of it and the 64C, shown here, 


have topped 10 million. 


the Commodore Macro Assembler 
Development System, Editor Pak, 
Word Machine, Name Machine and, 
Totl Time Manager 2.6. Although it has 
long been excelled by other assem- 
blers, | still use MADS for my feeble 
attempts at machine language pro- 
gramming. The first BASIC program | 
ever typed in was a sprite editor by 
Donald A. Pitts. It appeared in an arti- 
cle called “A Shape Generator for the 
Commodore 64” that was published in 
COMPUTE (November 1982) . 


SpeedScript 

Perhaps the most famous type-in pro- 
gram ever published in any computer 
magazine is SpeedScript, the pro- 
gram that I’m using to write this article. 
It was written by Charles Brannon and 
first appeared for the VIC-20 and 64 in 
the January 1984 Gazette. Updated 
several times over the years, its latest 
version, SpeedScript 3.2, was pub- 
lished in May 1987. The program has 
been enhanced many times, allowing 
users to customize the program to 
their liking. Among these programs 
are SpeedScript-80, an 80-column 
version; SpeedCheck, a spelling 
checker; SpeedSearch, a fast utility 
for finding any phrase within a 
SpeedScript file on disk; SoeedCount, 
a word-counting enhancement; 
ScriptRead, a fast SpeedScript file 
reader; and Instant 80, a true WYSI- 
WYG preview for SpeedScript. Some 
of these enhancements were pub- 
lished in Gazette and others appeared 
in COMPUTE when it still published 
type-in programs. (All of these pro- 
grams are still available on the 
SpeedScript disk.)When | considered 
myself proficient in BASIC (| wasn't), | 
wrote a 92-block program called 
Muzic! which | attempted to package 
and sell. | think | sold a grand total of 


four disks—and these probably went 
to my 64-owning friends. 

Meanwhile, back on the hardware 
front, finding the television hookup 
inadequate, | bought my one and only 
upgrade for the 64—a 1702 monitor. 
I'm staring at it still. What a wonderful 
improvement! No more zigzag lines 
and blurry characters. 


Rabbits and Snails 

Although it represented a quantum 
leap in data transfer speeds over the 
interminably slow tape cassette, the 
1541 disk drive soon earned a reputa- 
tion of its own for snail-like loading 
and saving (90 blocks—23K—in 
about a minute) and an easy-to-mis- 
align read-write head. 

To alleviate the first problem, | 
bought an Epyx Fastload cartridge. If 
there ever was a 64 accessory that's 
deserved to become a classic, it's this 
cartridge. Soon thereafter, | read an 
article on how to add an on-off switch 
to avoid plugging and unplugging the 
cartridge to accommodate programs 
which did or didn't use it. My 
Fastload's been sticking out of its port 
ever since. 

The head alignment problem was 
much more frustrating. | read many 
articles, sent the 1541 to several 
repair shops, and drilled holes in the 
bottom housing to access the stepper 
motor's adjustment screws. Finally, 
someone managed to fix it, and it's 
been fine ever since. 


Price Wars 
As the years flew by, the 64’s price 
plummeted. By June 1983, the 64’s 
mail-order price was $395; a year 
later, it had slipped to $199; in May 
1987, $169.95. Today you can buy 
one for about $150. 

Part of the reason for its decreas- 


ing price was the onslaught of other 
low-priced competitive machines 
which vied for the computerphile’s 
attention: APF Imagination Machine, 
the Apple-compatible Franklin Ace 
1000 and 1200, Timex/Sinclair 1000 
and 2000, Apple Ilc, more Tandy 
machines, Texas Instruments 99/4A, 
Coleco Adam, Atari 520ST, and IBM 
PCjr (born November 1983 and died 
March 1985). When used 64s began 
to hit the want ads at rock-bottom 
prices, | bought a spare. 

Meanwhile, Commodore wasn't 
resting on its laurels. While simultane- 
ously boosting production and cutting 
the price of the 64, Commodore was 
trotting out the portable SX-64; the 
anomalous Plus/4 and 16; the 128 and 
128D; the breakthrough Amiga family; 
and the IBM compatibles, variants of 
which became especially popular in 
Europe. None of those computers 
approached the sales of the 64, which 
is still being built and sold internation- 
ally today as the cosmetically 
enhanced 64C. 


Software Bonanza 
Within 18 months after its splashy 
introduction, more and more software 
companies had climbed aboard the 
lucrative 64 bandwagon. Ads for pro- 
grams like EasyCalc, Sprite-Magic, 
Mail Mate, Choplifter, Sargon II, 
General Ledger, Busiwriter 64, 
Monopoly, Centropod, Software 
Automatic Mouth (an amazing voice- 
synthesis program known as SAM), 
Script 64, Typing Tutor, SuperTerm, 
and WordPro Plus/64 proliferated in 
Commodore-specific magazines. 
Programmers who knew the 64 
were in demand. Even Breaderbund 
Software was advertising for software 
authors in December 1983. 


A New Operating System 

In March 1986, Berkeley Softworks— 
now GeoWorks—introduced GEOS, 
the Graphic Environment Operating 
System. Although I'm not a GEOS fan 
(without an REU and extra drives, 
molasses is fast in comparison), | 
seem to be in the minority. Com- 
modore quickly adopted GEOS as its 
“official operating system” for the 64, 
and many apparently excellent soft- 
ware products have greatly helped 
the 64 stay alive and kicking. 
Gazette’s GEOS column first ap- 
peared in September 1987. 


Applications 

By November 1988, 64's were being 

pressed into service for almost every- 

thing but cleaning the kitchen sink. A 

tadio station in Phoenix used one to 
JULY 1993 COMPUTE G-5 


report activities on a call-in talk show. 
Many people, such as one avid user 
in Niceville, Florida, used their 64’s to 
track stock market investments. One 
commercial application used 128s to 
monitor and control furnace settings in 
a large apartment complex. 
Teachers calculated students’ 
grades with them in Richmond, 
Virginia. A fireman in Tulare Country, 
California, used his for eliminating 
some of the paperwork involved in 
running a fire department. A preacher 
in Asheville, North Carolina, tracked 
the recreational activities of his church 
with his 64. A Union, lowa, farmer 
used a spreadsheet running on a 64 
to keep an eye on his farm's financial 
condition. At Bosch Power Tools, 
where | work, we used a 64 for years 
to calculate and generate graphs of 
motor-performance curves. 


Hardware 

While millions of owners were putting 
their 64s to creative uses, hardware 
manufacturers were busy as well. Here's 
a short list of peripherals that have made 
life easier and more interesting. 


* Card? printer interface (Cardco) 

® VIC-1520 plotter/printer 
(Commodore) 

® Fastload cartridge (Epyx) 

* Command Control Trackball (Wico) 

® The Voice Box voice synthesizer 
(The Alien Group) 

® Hearsay 1000 voice 
synthesizer/recognizer (Hearsay) 

® Minimodem-C (Aprotek) 

® Super Graphix printer interface 
(Xetec) 

* SWL shortwave listener cartridge 
(Microlog) 

® Flexidraw 170-C light pen (Inkwell 
Systems) 

® Stringy Floppy storage device 
(Exatron) 

® Ultimate Interface (Schnedler 
System) 

® Lt. Kernal hard drive (Xetec) 

* ComputerEyes video digitizer 
(Digital Vision) 

® MW-302 printer interface (Micro 
World Electronix) 

* Home Control Interface (X-10) 

® Interpod interface between comput- 
er and various peripherals 
(Limbic Systems) 

® VIC 1650 modem (300 bps, original 
ly $150) (Commodore) 

® 1750 RAM expander (Commodore) 

* Sonus MIDI interface (SOFTpacific) 

* Video Byte II video digitizer (The 
Soft Group) 

© 4351 mouse (Commodore) 

* Ten Key Pad (Quality Computer) 

© Super Expander 64 cartridge 

G-6 COMPUTE JULY 1993 


(Commodore) 
° 1581 31-inch drive (Commodore) 
* Bodylink fitness system (Bodylog) 


Perhaps the most bizarre peripher- 
al of all was the heavily advertised 
Spartan adapter for interfacing the 64 
to Apple II/Il+ peripherals (Mimic 
Systems). I’m not sure it ever attained 
volume production. 


Software 

Here are some of my favorite pro- 
grams and applications for the 64. 
Chances are you probably have some 
of these, too. 


® SpeedScript 3.2 word processor 
(COMPUTE Publications) 

© Instant 80 80-column preview 
(COMPUTE Publications) 

© Print Shop card/sign maker 
(Broderbund) 

® Doodle drawing program (City 
Software) 

© Flexidraw (Inkwell Systems) 

® Generic Librarian MIDI software 
(The Music Software Exchange) 

® Simon's BASIC cartridge 
(Commodore) 

® PractiCalc spreadsheet (Computer 
Software Associates) 

® CADPAK-64 drawing program 
(Abacus) 

® Screen Graphics-64 graphics 
enhancement to BASIC (Abacus) 

® Tax Master (Master Software) 

® Datafile (RUN magazine) 


How about a few games? 


® Space Taxi (Muse) 

© Summer Games II (Epyx) 

® Impossible Mission (“Stay awhile; 
stay forever!") (Epyx) 

® Raid on BungelingBay 
(Broderbund) 

® Tetris (Spectrum HoloByte) 

® Advanced Dungeons & Dragons 
(Strategic Simulations) 

© Bard's Tale (Electronic Arts) 

® Pinball Construction Set 
(Electronic Arts) 

® Zork series (Infocom) 

® Dragonworld (Trillium) 

© Flight Simulator II (subLOGIC) 

® Choplifter (Broderbund)? Where in 
the World Is Carmen Sandiego? 
(Broderbund) 


In a Babbage’s one day, | ran 
across Light and Temperature Labs, 
scientific experiments from Hayden 
Software. They were on sale for $10 
each. In case you missed these sadly 
underpromoted products, each one is 
a series of scientific experiments on 
disk, supported by great documenta- 


tion, along with an interface box which 
connects to a joystick port. The box 
accepts either a photocell or an accu- 
tate temperature probe—also fur- 
nished! What a find! 


Gadgets 

Over the last decade-plus, I've whiled 
away quite a few hours building and 
writing supporting software for my 
own collection of miscellaneous gad- 
gets that connect to the user, car- 
tridge, or joystick ports. Some of these 
include the following. 


® A numeric keypad 

® A plotter (although plodder would 
be a better name), which could 
draw with four felt pens whatever 
appeared on the monitor screen 

® A MIDI interface (I still use it almost 
daily with my spare 64) 

© A relay interface which controls 
small electrical devices 

® A room measurer which uses an old 
Wico trackball mechanism to roll 
around the periphery of a room, tak- 
ing the room's measurements 

® A model “drummer boy” which uses 
relay-switched solenoids to control 
drumsticks 

® A device to synchronize taped 
music and kaleidoscopic images 
(works with a four-track tape deck) 

© A talker, based on a Radio Shack 
voice synthesis chip 


In Retrospect 

I've spent literally thousands of pleas- 
ant hours with my 64 over the past 11 
years. The computer is still perfect for 
the vast majority of my purposes. 
Back in May 1988, Rich Mcintyre, then 
Commodore's senior vice president of 
sales and marketing said, “Eight-bit? 
Who cares? You're buying a machine 
for a specific reason. If it satisfies that 
need, it’s never obsolete. Only your 
requirements become obsolete. .. . If 
the need continues to exist until the 
year 2000, that machine is still satis- 
factory.” 

Maybe Jim Hilty said it best in last 
December's issue of Gazette. “The 64 
has always been kind of a barnstorm- 
ing computer .. . just plug it in and fly 
by the seat of your pants. It’s a fun 
computer, a truly personal computer, a 
computer that an individual can enjoy 
programming, a welcome friend.” 

Thank you, Commodore. Thanks 
also to everyone who builds the hard- 
ware, writes the software, and publish- 
es information about this marvelous 
machine that is the Commodore 64, 
Here's to 11 more happy, productive, 
profitable, educational, and entertain- 
ing years in 8-bit heaven. Q 


Thousands of Commodore Owners Choose Us 
As Their One Stop Supplier . Here's Why! 

* Largest Selection of Commodore Software in the U.S.A.! 
Nobody in the Commodore market is more committed to your 
Commodore than we are. We have well over 225,000 pieces of 
hard to get software in stock to service your every need. If 
you've heard of a product, odds are that we can locate it for you. 
And, we stock most major Commodore titles that are still in 
production. 


* Hardware & Peripherals. 
Although we can't get keyboards and disk drives any longer, we 
can offer disks, modems, cables, interfaces, and much more. 


* Used Software Selection. 
Our regular customers know how to stretch their software 
dollars shopping our Used Software Listings. 


* Un-Advertised Specials. 
Our regular customers enjoy VIP service and great bargains 
that are hard to pass up. 


* Expert Technical Support. 
Asaregular Software Support customer, you have access to the 
most knowledgeable Commodore technical departments in the 
country. Of this, we're darn proud. 


* Friendly & Courteous Order Takers. 
You'll have a hard time finding order takers as anxious to help 
you as Sandy, Mike and Claressa. 


* Fast Order Processing. 
Thanks to our automated computer system, huge inventory and 
efficient shipping staff, most orders are processed the same 
day. 

* Walk In Sales Department. 
We welcome visitors to our warehouse outlet. The same great 
deals are available and best of all, no shipping charges. 


* Worldwide Distributor Of Major Products. 
Ever hear of ick, Super Snapshot, Super 1750 Clone, and 
the 1581 Toolkit? We've been actively involved in the ground 
up production and world-wide distribution of these and many 
other fine Commodore products. 


* Purchase From Us With Confidence. 
We were very pleased when the Better Business Bureau came 
to us and told us that our out- 


SOFTWARE SUPPORT 


INTERNATIONAL 
C-64/128 Specialists For Over Six Years 


Check Out These Examples... 


GAMES 
Leaderboard Golf .. 
Beachhead Triple Pack 
Nord & Bert..........4 
Blue Angels (Special) 
Trump Castle Casino 
Bureaucracy 128 .... 
Defender of the Crown 
Beyond Zork 128 ... 
4x 4 Off Road Racing 
Arcade Smash Hits 
Batman/Robocop Bundle 
Jeopardy 1-2-Jr. Bundle ......... 


EDUCATIONAL 
Thinking Cap 
Stickybear Mat 
Carmen U.S.A. 
Typing Tutor 3 
Word Attack.. 
Donald's Alphabet 
Sky Travel........ 
Perfect Score SAT 
Word Spinner... 


PRODUCTIVITY 
Super 1750 Clone 
Newsroom 
Certificate Maker 
Cadpak 64 


Superbase 6401128. 
Video Title Shop . 
Animation Station . 


standing reputation qualified 
us as members in their organi- 
zation. We're here to stay, not 
a fly by night, here today and 
gone tomorrow outfit, 


MONEY-SAVING 


PRICES! 


* Extensive Catalog. 
Our contacts at other mail or- 
der companies have told us 
that producing a catalog such 
as ours is too time consuming 
and worst of all - too expen- 


sive. We say it's the least we 
can do for our customers, and 
wouldn'thave it any other way. 
Simply call or write for your 
free copy. 


Outrageous Pages . 
"ans Bob's Term Pro 64.. 


Items Listed Above Do Not Include Shipping. Call Or Write For Your Free 
Catalog Listing Hundreds Of Products And Special Offers For Your 


Computer. Our Order Takers Are On Duty 6:00 a.m. - 5:00 p.m. 


M - F and 7:00 a.m. - 3:00 p.m. Sat. - 


SOFWARE Software Support Int. 
a 


Pacific Time. 


ane A-10 
ancouver, Wa 98661 


Snot sees 


Te 2700 N.E. Andresen Rd. 
Sliopont : 


(206) 695-1393 


CALL TOLL FREE TODAY! 1-800-356-1 179 


Major Credit Cards Accepted. 


Circle Reader Service Number 190 


REVIEWS 


MATHBOOSTER 


| don't think there's a kid left 
in the universe who doesn't 
respond to falling images on 
a computer screen with a de- 
sire to stop them, to be the 
good guy, the hero. Witness 
the fact that even kids who 
own videogames’ and 
whose parents won't give 
them quarters can't resist 
checking out the games in 
malls and stores. 

What does this have to 
do with an arithmetic drill- 
and-practice program for 
the 64? Boosting falling sat- 
ellites back into space is the 
premise behind Mathboos- 
ter, a program imported 
from Australia. 

To prevent these satel- 
lites from tumbling down 
and crashing into the earth, 
students must quickly and 
correctly solve math equa- 
tions. This program provides 
a drill with positive reinforce- 
ment that's fun. 

Mathbooster is not a teach- 
ing program. It's designed 
to reinforce through practice 
the math skills that the stu- 
dents have learned in class. 

When the game starts, sat- 
ellites are strung across the 
sky, and a booster rocket 
waits atop its launch pad. Be- 
low each satellite is an equa- 
tion. This first wave of satel- 
lites begins to fall. Using the 
appropriate keys, you place 
the launch pad beneath a 
satellite and type in an an- 
swer to the equation. Press- 
ing Return or the space bar 
launches the booster rock- 
et—only if the answer is cor- 
rect. If so, the booster rock- 
et then pushes the satellite 
back into space. If the an- 
swer is incorrect, the satel- 
lite continues its fall toward 
earth. Once you've success- 
fully propelled the first wave 
back into orbit, a second 
wave begins to fall—at a fast- 
er rate than the first! 


G-8 COMPUTE JULY 1993 


The third wave consists 
not of satellites but the 
space shuttle! It’s a very 
large space shuttle that 
needs a very large booster 
rocket to restore it to orbit 
Points are accumulated for 
boosting satellites and the 
shuttle back into space. If a 
satellite or the shuttle reach- 


current problem type, 
change it, change the 
speed settings, load and 
save the problem type and 
settings, or return to the 
game. When you view a 
problem, the screen lists the 
type of operation that’s be- 
ing displayed: addition, sub- 
traction, addition and sub- 


Boost falling satellites back into space with Mathbooster, a 
program that combines arcade action with math drill. 


es the ground, the game 
ends. As in arcade games, 
the program keeps track of 
current high scores. 

Mathbooster comes with 
ten sample games already 
prepared. However, its pow- 
er comes in the variations 
you can create by altering 
the type of problems. The 
main menu lists three op- 
tions: Start the game, Load 
different problems, and 
Change problems. The first 
one is self-explanatory. The 
second option lets you load 
other files of problems al- 
ready created and saved on 
disk. The third option lets 
your create these other 
math files. 

The first menu under op- 
tion 3 allows you to view the 


traction, multiplication, divi- 
sion, or multiplication and 
division. 

Next, it tells you what 
form the equation will take, 
such as A + B =C. Then, 
for each A, B, C, or other var- 
iable, the program sets the 
Parameters. For example, if 
you're practicing addition 
where the sum, C, never ex- 
ceeds 12, then A’s parame- 
ters would be 1-6, and B's 
would be 1-6 also. 

The next option is to 
change the problem type. 
The Operations List lets you 
do this. For each operation 
there’s a screen that guides 
you through the steps of 
choosing the parameters for 
the variables. This requires 
care and thought, but it isn’t 


difficult. The screen instruc- 
ions and the manual enable 
you to create the exact drill 
you want for your student. 
Speed Settings govern 
the actual game, controlling 
how fast the satellites and 
shuttle fall, how quickly that 
speed increases, when the 
irst shuttle appears, how 
many times per wave it ap- 
pears, and whether or not 
he sound effects are 
urned on. With these you 
can customize a game to 
best challenge students with- 
out overwhelming them. 

The manual is thorough. 
Aside from a couple of ty- 
pos, it provides helpful in- 
sight and guidance in devis- 
ing games that will provide 
the kind of drill that will 
most benefit your children 
or students. Included are 
some appendices describ- 
ing the ten sample games al- 
ready on the disk and provid- 
ing some examples of how 
to set up game formats. 
Mathbooster also carries its 
own copying program to al- 
low you to make backups. 

Mathbooster is the sec- 
ond Free Spirit import from 
Australia that we've re- 
viewed. These two pro- 
grams by Satchel Software 
are copyrighted by the Min- 
ister of Education and are 
used by the school systems 
in South Australia. (Mathboos- 
ter’s manual even makes ref- 
erence to the South Austra- 
lian curriculum modules.) As 
with the first program, Dr. 
Spellingstein, we are im- 
pressed by the solid pro- 
gramming that provides the 
actual computer game yet al- 
lows you to create and mod- 
ify within the program to 
make it fit your needs. It's 
powerful, flexible, and easy 
to operate. 

Kids love computers and 
computer games. Most kids 
also love learning, although 
they'd deny it if you'd ask 


Only $24.05 x ts 


Fon Graphies Machine 


FUN GRAPHICS MACHIN FGm) 1S AN “ALL-IN-ONE” GRAPHICS 
PROGRAM FOR THE C=64. WHAT CAN BE AT 
ONLY LIMITED BY YOUR IMAGINATION, T 
BUSINESS CAROS 
CUSTOH LABELS 
VIDEO TITLING 
NEW: RS 


EO WITH FGM IS 
A FEW EXAMPLES: 


i 
WORKS WITH 
1541, 1571 
& 1581 DRIVES 

iS 


3°, 

Bar 

BYarne, 
meln 


PHICS AND 
NCLUDING: 


= 
2 
voz 
zvszc 


vt 
GEOS SCREENS BY RESETTING 
COMPUTER THEN PHICS MACHINE. 


BOARD OVERLAY ---$3.50 EA 
128, SX-64) OR C64 IS SHIPPED 


FUN GRAPHICS MACHINE D T 
WHAT FUN GRAPHICS MACH LL ABO 


im CALEND! 
FGm OVERLA 
STATE COMP 
Fom UPDATE 


PLEASE ADD FOR 
FOREIGN ORDE 
CANADA/MEXIC 

UND: 


ENT--$5.00 
6,.5--$2.00 


The FGM Connection, P.0.Box 2206, Roseburg, OR. 97470 


FOR MORE INFORMATION CALL 503-673-2234 


SUMMER SIZZLER--15% OFF Coct * C-64 ** C-18 
€7/1-3V/93) CaSalec Tax axcl’d * Pluc/4 * C-% 


State PSG A/3 Blk/non-C= or B/2 Blk/C= Pratel 
PSG/PratShp Grapce Sd/sides G/games H/math 
ITEM -------- NUMBER OF SIDES or ID /COST/ 33H 
2 KJ¥ Bible—2 ed Mue, A or B PSG & G 36/35+4 
B: Holiday-2 Hus+6 A or B PSG -Hol/Relig 8/ 7+2 


? SHarioSKrkout,Pokr,36 G-Fin-Grfpx,DB 6/ S+2 
D: 728 Potpourri —— UT/ PR/ ED/ G/ TE 6/ S+2 
€: PLUS/4 Combo ------ UT/ PR/ ED/ G/ TE 6/7 S+2 


: Bkel48p>--Inet Activities C= or Apple 
Apple Fun-..Logo-..Mus---Reg. $3.95 B8k/ t2 
G: Educ Pack A--M-S-E-GE-Etc----#45 Pres 12/13+2 
H: Educ Pack 8--M-S-8&-GE-Btc-~---600 Pree 6/70+7 
3: Bkeltt9p>---C64 or T28-Amaz G/ $9.95, Bk/ 3+2 

2G Pack A-MacioBren--SMar-SMar Il-Star3 
lue Tetris Clones-C64/64C/C-2&80e) 2/ 9+1 
2 Pack B-Teshmn,StreaideAcOmOtpet,+ 2/ 9+4 
L: People-554 Ml-Fm-Child AorB PSG +Prge 7/ 8+2 
: Diek Notcher-Use back of DS/DD disks! DN/ 3+1 
N: Recipe Potpourri-178 recipes-Programe 3/ 7+1 
3 KJ Bible-+/4--Txt files + 1 ed Progs 30/30+4 
? G Pack C/C-128-60+-Star Trk-Concent. 0/B+2 
Q: Musique Claseique- 

3: Pats--—347 Domestic e 

8: SPORTS-419 Hix-Bebll/Ftbll/+ PSG+P. 
: Cartoon Charactere-—-Mixture 202 P 


e 5/2+2 
2/ S+2 
: Comptr Parade-255 PSG-Ap/C=/IBM Logos 2/ 5+2 


¥: Fastcad ¥1 (Enh CAD 3.0) +Suppt Files 5/+2 
: Fun Graph Mach DemotUT+SO Fntc+HR DMP 3/ 6+2 
2 41/71/81 UT Caombo-Rdr/Copr/tive/’ etc 6/2+3 
: GEOS Info-Programmer's Manual (89p) + 

GEOS 10 Documentation (27p)--<(C-64) 3/ +2 
Zt KJV Bib-128 n/40-80 resder/printer + 

2 each of music, A or B PSG, & games 36/35+4 
Available-JIM HBHL COLLECTION +/4 * C-%6 * C-64 
JH-00--Bible-Time +/4-64-25+ Relig. Pres 3/ 6+1 
JH-Ot-Plue/4 G Pack-Hac 60 plus games 19/30+5 
JH-O2--T-Pack +/4--Terminal es & +Term 4/ 91 
JH-03--C-%6 Combo-50+ Pree. Runs on +/4! 2/ 41 
JSH05--HALGipd>-Asemblr+4 -Spdecrptt+4 4/ 9+ 
JH-07--C64-Pentd Wd/Fle—C64 v +4 SW ROM 2/ S+2 
Send uc a ‘SASE' for additional informatation. 
CATALOGS: C64/128-47p [82+2] Pluc/4-8p (2+1) 
PYMT-MO/CK WS8)--Ca. Ree +8.25% tax/item total 
No COD's! Shipping USPS [COomes./Intern'l Rates] 
PROCESSING: Bank Gak/HO-Firee **® Chk w/cleared. 
SEND/PAYABLE TO: Kenneth Franklin/KF-PD SOFTWARE 
- P.O. Box 470464 * Los Angeles, Ca. 90047-0464 
Mainly, we have the PD Sele Commodore Library 
THANKS FOR HELPING US INTO OUR ‘THIRD’ YEARE 


Circle Reader Service Number 197 


ATTENTION 


ALL COMMODORE 64/64C, 
AND COMMODORE 
128/128D OWNERS 


A complete self-tutoring BASIC programming course is 
available that starts with turning your computer on, to 
programming just about anything you want! This course 
is currently used in both High School and Adult Evening 
Education classes and has also formed the basis of 


teacher literacy programs. Written by a computer 
studies teacher, this programming course is one of the 
finest available today. This complete course of over 220 
Pages is available for the COMMODORE 64/64C, 
and for the COMMODORE 128/128D computers. 
This course (Volume 1) will take you step by step 
through a discovery approach to programming and you 
can do it all in your leisure time! The lessons are {filled 
with examples and easy to understand explanations as 
well as many programs for you to make up. At the end 
of each lesson is a test of the information presented. 
Furthermore, ALL answers are supplied to all the 
questions, programs and tests. Follow this course step 
by step, lesson by lesson, and turn yourself into a real 
programmer! You won't be disappointed! 


FOLLOW-UP COURSE (Volume 2) - A 200 page 
self-learning course for each of the above named 
computers dealing exclusively with sequential and 
relative files. Our teacher uses a unique approach to 
file handling that was designed especially for students 
with absolutely no prior file handling experience. Yet by 
the end of the course you will be able to make up many 
of your own personal and business file programs. All 
our courses involve active participation by the learner. 
You do the specially designed examples, read the 
complete explanations, follow the instructions, answer 
the many questions, do the tests, and check your 
answers. 

Each course is only $21.95 plus $3.00 for ship- 
Ping and handling. We have been developing and 
selling Commodore courses for over 7 years now and if 
you do not think that we have the best self- 
tutoring course you have yet come across, then 
just send the course back to us within 10 days of 
receipt for the FULL $24.95 refund. 


08s eee ee 


NAME ee CG 
ADDRESS: 
Cli 
STATE/PROV: CODE: 

desire the BASIC programming course (Volume 1) L] 
FOLLOW-UP course on file handling (Volume 2) C] 
The computer that the course is needed for: 
COMMODORE 64/64CL] COMMODORE 128/128DL] 


For U.S. and Can. customers, send $24.95 per course 
n the currency of your country. Can. orders add 7% 
GST. Overseas orders, send $29.95 U.S. 


Brantford Educational Services 
222 Portage Road 6 Pioneer Place 


H 


ewww eeeeeeeeee 


P.O. Box 1327 or Brantford, Ontario 
Lewiston, New York 14092 N3R 7G7 

| Fax: (519) 756-6534 

i Peperererttrrrrrrrrrrrtritiiiirrrtrrrtiiiiirrrrrererrir ris 


G-10 


64/128 PUBLIC DOMAIN SOFTWARE 
REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE- 
FUNDABLE). Categorles Include education, utilities, games, business, 
PRINT SHOP graphics, pre-tested programs and more. Rent for 75¢ or 
buy as low as $1.00 per disk side or for 80¢ for 70 or more. $20 order 
gets 4 free disks of your choice. 
NEXT DAY SHIPPING! SINCE 1986 
i CALOKE INDUSTRIES (Dept. GK) Ee 

~ PO BOX 18477, RAYTOWN, MO 64133 — 


Circle Reader Service Number 181 


DEPENDABLE SERVICE FOR YOUR COMMODORE! 
C-64, 1541, C-128, or 1571: 


$25.°° puus parts 
Send computer* or drive with name, ad- SERVICE CENTER 
dress, phone, & describe problem. We'll | hig ae as 
call with parts estimate, then repair and | 90 DAY WARRANTY 
return to you insured by UPS. Payment | ON ALL REPAIRS 
can be COD or VISA, M/C. Minimum (__ 
charge, estimate only is $20. * Include power supply. 


TYCOM Inc. 503 East St. Dept. C 


Pittsfield, MA 01201 


AUTHORIZED COMMODORE 


(413) 442-9771 


Circle Reader Service Number 242 


ESCAPE ROUTE 


The Adventures of 
Eric Hawthorne, P.I. 
C-64 or C-128 In 64 MODE 
ACTION/STRATEGY/BOARD GAME 
Catch the infamous ICELADY before she crosses the border! 
Fun for all ages! 
$19.95 Check or Money Order 
CREATIVE PIXELS LTD. 
PO Box 592, Library , PA 15129 


Circle Reader Service Number 113 


COMPUTER REPAIR <a 


C-64: $40.00 1541: $54.95 64C: $50.00 
1541-Il: $64.95 C128: $64.95 6©128D: $74.95 
1581: $64.95 BIGHES 

WE ALSO REPAIR IBM Clones, Sega, Genesis, Nintendo 


For more info cal: BEAR TECHNOLOGIES 


Computer Sales, Service & Repair 


aru) 1005 McKean Street, Philadelphia, PA 19148 Se 
215-336-5295 1-800-755-5295, 


Circle Reader Service Number 152 


Label Maker- Uso 11 pre-designed labels or create yourown, floppy & micro 
disk labels, audio & video cassette labois, and more. Use your printor's font and 
color capabilities. Both Commodore 64 and 128 versions included. - $19.95 


Special - both for only $35.00 
Mail List Manager- Makes maillist management a snap! Print one record ata time, pick and choose 


for exporting or printing, or print the entire list. Holds 300 records for each C64 list, 1000 for C128, transfer 
between lists. Use new label designs created with Labe/ Maker. Both 64 and 128 versions included - $19.95 


SHIPPING: - U.S. $4.50, Canada $5.50, Intl. orders $12.00. Int. orders paid by credit card or Canadian 
postal money order only. Write for free catalog of Software and Leroy’s Cheatshests. 


Keystone Software Dept.G P.O. Box 8369 Pittsburgh, PA. 15218 
412-243-1049 Fax: 412-731-2460 Hours: 9 to 5 Eastern Time 


Circle Reader Service Number 170 
COMPUTE JULY 1993 


REVIEWS 


them. Computers and learning games 
can be an irresistible combination 
when blended properly. Mathbooster 
provides the perfect recipe for turning 
math practice into a real treat. 

DAVID and ROBIN MINNICK 


Satchel Software 

Distributed by Free Spirit Software 
720 Sycamore St. 

Columbus, IN 47201 

(812) 376-9964 

$39.95 


Circle Reader Service Number 414 


JARA-TAVA 


Want to take a trip to an exotic loca- 
tion; hunt for buried treasure; and fight 
crocodiles, sharks, and hungry 
snakes? Then Satchel Software's latest 
text adventure, Jara-Tava, is your tick- 
et to adventure. 

Jara-Tava begins, like many good ad- 
ventures, with the inheritance of an an- 
cient treasure map. A letter from your 
dear, departed Uncle Bartholomew sug- 
gests that Captain Kidd's treasure 
might be found on the island of Jara- 
Mau. It also warns of danger should 
you go to neighboring Jara-Tava, the 
Isle of Fire. 

With no further urging, you're on 
your way. Of course, you learn early in 
the game that the treasure isn’t on 
peaceful Jara-Mau but across the 
shark-invested strait on Jara-Tava. 

Satchel Software designed this inter- 
active text adventure with junior high stu- 
dents in mind. It has colorful graphics, 
easy-to-use text commands, and a 
challenging plot. Familiar elements 
from classic literature, skillfully woven 
into the game, are sure to please teach- 
er, student, and parents alike. In addi- 
tion to Kidd's treasure, you'll find Robin- 
son Crusoe's tree house and Captain 
Nemo’'s submarine, Nautilus. Also, 
straight from an Indiana Jones adven- 
ture, there's a golden idol that's pro- 
tected by a large boulder. 

Teachers in Southern Australia 
have been using this text game in 
their classrooms since 1988. However, 
the game has only recently been li- 
censed for distribution in the U.S. by 
Free Spirit Software. The package 
comes complete with three disks and 
a 134-page combination instruction 
and resource manual. 

Teachers who decide to use this 
game as part of their classroom curric- 
ulum will be delighted with the hidden 
teacher's controls built into the pro- 
gram. Accessed by pressing Shift-T at 
the beginning of the game, teachers or 
parents can set options like help com- 


mands, maps, and multiple moves. 
They can also encode messages on 
statues to increase the difficulty of the 
game and teach students about deci- 
phering codes. But don’t get the idea 
that the game is only useful in scholas- 
tic situations. It's a package that will pro- 
vide hours of computer fun at home as 
well. 
n fact, the game's design is perfect 
for the solitary player or for young play- 
ers who want to do it themselves. 
Most popular text games require verb- 
and-noun commands such as Climb 
Tree in order to move through the 
game paths. This can be confusing to 
a young player, Jara-Tava's designers 
simplified the process by creating a pro- 
gram that analyzes individual words, 
not two-word sequences. Game play- 
ers can type in whole sentences be- 
cause the program searches for key- 
words and strips out unknown ones. 
This lets players use more natural lan- 
guage in the game. 

Since the game was designed with 
the junior high player in mind, older, 
more experienced players may not 
find it challenging enough. However, it 
succeeds quite well with the targeted 
age group. 

Maps are important in solving this 
and any text game. The Jara-Tava man- 
ual gives students and first-time text 
game players a brief lesson on how to 
keep a map. Teachers can build on 
this for other map-making exercises for 
their students. The section gives lei- 
sure-time players new ideas for ways 
to use their maps, too. All can benefit 
from it. 

The game itself offers several choic- 
es at every point of play. Since most 
people learn more by their mistakes 
than their successes, experiment with 
the game. Try all the options—build a 
glider, ride the sub, feed the croco- 
diles. You can save your game on 
disk and go back to correct any mis- 
takes you make. You'll learn something 
new with everything you do. At the con- 
clusion of the game, the screen will dis- 
play how many steps it took for you to 
solve the game. You can play it over 
and over again, trying to beat your pre- 
vious best score. 

But there's more to it than just the 
game. Like other software packages 
from Satchel, there's a resource disk in- 
cluded with this one. This disk has a 
simple database, an easy-to-use word 
processor, a disk copying program, 
and the Tree of Knowledge guessing 
game. 

The word processing program is de- 
signed for the junior high student who 
is beginning to do research papers 
and reports that need to be typed. It’s 
a program that students can continue 


Upgrada your Commodore systam 


Refurbished Hardware 
MONITORS DRIVES OTHER 
b41-~ $99 CHq- F9 
Wdte- 


SUIEL, ONTARIO, M3L 180 
Allow 4-6 weeks for delivery. 
Catalogs disk on 64 format $2 


APROTEK modems 
Araiga-2400 Bewd— 


GRIVE RO! 
card—lC3 


GALACTIC CONQUEST 


GALACTIC CONQUEST is the best conquest game for the C64! 
Command hundreds of star ships as you conquer other worlds and extend 
your empire. Watch out for black holes, photon storms, stars that go nova! 
and General Badguy. 1-6 players. Comes with Mario's Sister Giana, 
Sanxion, Krazy-Kar and 5 other arcade quality games. Send your retum 


address and $12, which includes shipping, to: 


PowerdisK, 6813 Lows Way, West Jordan, UT 84084 


Research works. 


American Heart 
Association 


The classic best-selling 
Commodore 64 reference 
guide. Mapping the Com- 
modore 64 and 64C is a 
comprehensive memory 


MAPPING 
THE 


Commodore 


64 &64C 


guide for beginning and advanced programmers. 


To order your copy send $18.95 plus $2.50 for shipping and handling 
(U.S., $4 to Canada and $6 other) to COMPUTE Books, c/o CCC, 2500 
McClellan Ave. Pennsauken, NJ 08109. (Residents of NC, NJ, and NY 
please add appropriate tax; Canadian orders add 7% Goods and Servic- 
es Tax.) All orders must be paid in U.S. funds drawn on a U.S. bank. 
Orders will be shipped via UPS Ground Service. Offer good while 


supplies last. 


JULY 1993 COMPUTE 


G-11 


Original Print Shop Graphics 
Borders and Fonts. 
Western Heritage 

Turn your Print Shop & computer into 

a real old western printing press. 
Make real wild west wanted posters. 
Use the wildest western graphics ever. 
064128 $24.95 + s00sn usa IBM 


S/H Canada $5.00 others $6.00 WA res.$1.92 
Call now 569-276-6928 


Write for Pree brochure & tell us what you like. 
Be the first to see exciting NEW products. 


COMMODORE 64/128 


PUBLIC DOMAIN 
SHAREWARE PROGRAMS 


CALL OR WRITE FOR FREE 
DESCRIPTIVE CATALOG OF 
COMMODORE 64/128 PUBLIC 
DOMAIN & SHAREWARE SOFT- 
WARE OR SEND $2.00 FOR DE- 


SCRIPTIVE CATALOG AND 
SAMPLE DISK. ADULT SOFT- 
WARE LISTING AVAILABLE TO 


THOSE OF LEGAL ADULT AGE. Horse Feathers Graphics 


N. 27310 Short Rd., Deer Park, WA 99006 
Request 6.26 «1 3.5 by IBM. 


DISKS O'PLENTY INC. 
8362 PINES BLVD., SUITE 270 
PEMBROKE PINES, FL 33024 

(305) 963-7750 


Circle Reader Service Number 253 Circle Reader Service Number 234 


AMIGA & COMMODORE 
™ CUSTOM CHIPS 
and 

REPLACEMENT PARTS 
Lowest Prices Around 

THE GRAPEVINE GROUP INC. 

3 CHESTNUT STREET, SUFFERN, NY. 10901 
ORDER LINE: 1-800-292-7445 / FAX: (914) 357-6243 


INTERNATIONAL ORDER LINE: (914) 357-2424 
Write or call for prices 


Logo 1s the property of Commodore Business Machines, Inc 


Circle Reader Service Number 159 


No Wild, No Wildlife. 


region, we would jeopardize the 
culture of the native Alaskans and 
untold wildlife, including a herd of 
180,000 caribou. Our 
last arctic wilderness 
J ; 

», Would be despoiled. 
The Sierra Club works 
to save wildlife by sav- 
ing the wilderness. We 
have a history of vic- 
tories. And we believe, 
with your help, this arctic wilderness 
will remain an invaluable refuge. 


> For information on how 
\\2)\ you can help: 

\\)'7) Sierra Club, Dept. AR 

2} 730 Polk Street 

San Francisco, CA 94109 
(415) 776-2211 


Polar bears, musk-ox, grizzlies, 
caribou — more animals than you’d 
find in Yellowstone — can be found 
on the magnificent 
coastal plain of the Arc- 
tic Refuge in Alaska. 
Unfortunately, this por- 
tion of our last arctic 
wilderness has caught 
the eye of the oil in- 
dustry. Right now Con- 
gress is considering proposals that 
would allow the oil companies to 
drill there, even though reports 
indicate there’s less than a 
one-in-five chance oil would 
be found. 

If we allowed drilling in the 


G-12 COMPUTE JULY 1993 


REVIEWS 


to use for simple reports as they enter 
high school. It's also useful for people 
who have never used word processing 
programs or have been intimidated by 
them in the past. Called Tell-a-Tale, the 
Jara-Tava word processor is a very sim- 
ple-to-learn program that lets you 
write and then save your work to a 
disk. You can also center titles, 
change cases of words and letters, 
work with existing files, and print out re- 
ports. The program will not do more 
elaborate functions like footnotes and 
headers, but it's sufficient for most 
word processing needs. 

The database is useful for storing 
word lists and simple groups of informa- 
tion. The word lists can then be import- 
ed into the word processor to make 
spelling lists or to use in essays. Satch- 
el has already begun five databases 
for the user. The names are Pirates, Is- 
lands, Volcanoes, Whales, and 
Sharks. You can build on this basic 
base by adding additional files. Each 
file may be up to 29 characters. Files 
may be deleted; however, the erase 
function has been restricted so no 
more than one file can be erased at a 
time. This safeguard keeps you from ac- 
cidentally wiping out your entire data- 
base. 

The Tree of Knowledge game pits 
the player against the computer's abil- 
ity to guess. There are five trees on the 
disk that you can select: Animals, Pi- 
rates, Whales, Sharks, and Snakes. 
New information can be added to the 
existing trees to make a more complex 
guessing game. These can be saved 
and replayed again and again. 

The resource disk takes the Jara- 

Tava package far beyond mere game 
software. In my opinion, this one disk is 
worth the modest price of the package 
| by itself. 
And there's still more. Take a look at 
the extensive, spiral-bound instruction 
manual. Tucked in the center of the 
manual is a 68-page section that is 
filled with activities related to the 
themes found in the Jara-Tava game. 
There are word games, crossword puz- 
zles, word searches, drawing activities, 
and group games. There are ideas for 
crafts, too. You can build your own mod- 
el volcano, make beanbags shaped 
like whales, or do any of a variety of 
activities. All the instructions are includ- 
ed. As an added bonus, Satchel has 
given permission for teachers to copy 
any or all of the manual for use in their 
own classrooms. 

Allin all, Jara-Tava is an outstanding 
package that does more than merely 
entertain players. It stimulates and ed- 


o 


> Kee 
effor 


We live in an ocean of air, 


Deprive us of it for a moment and we suffer. 


know this all too well. 


It’s a matter of life and breath? 


‘Space contributed by the publisher asa public service. 


our 
from 
floundering. 


People with chronic lung disease — asthma, emphysema, and chronic bronchitis — 


Your support of the American Lung Association can help them stem the tide. 


|, ASSOCIATION” 


NEW! 


THE COM 


If you own a CMD device, you 
NEED the Compression Kit 


SSION KIT 


system featurin 
the commodore 


fast 
4/128 


For 
AMERICAN 
LUNG 


‘The Christmas Seal People* 


Please enclose check or money order 
for $39.95 to: 

Mad Man Software 

1400 East Colle 
Cheyenne, Wy. 
For order Info call. 
eneral Info call. 
For fax Inquires.......... 
Be sure to enclose a return address. No P.O.Box 
numbers please. 


e Drive 
2007 


Circle Reader Service Number 260 


ucates them. That's not a bad return 
for such a modest investment. 
MARTI PAULIN 


Satchel Software 

Distributed by Free Spirit Software 
720 Sycamore St. 

Columbus, IN 47201 

(812) 376-9964 

$39.95 


Circle Reader Service Number 415 


FLYER 


Flyer is a deceptively simple but mad- 
dening little arcade game for the 64. 
The idea is to guide a paper airplane 
through the rooms of a house, avoiding 
furniture and other obstacles. 

Helping you in your fight against grav- 
ity and wind resistance are a number 
of air vents that provide lift and a series 
of rollers that give your glider extra 
speed and maneuverability. As your 
glider passes over a vent, push up on 
a joystick to gain altitude. Maintain a 
light touch, though. If you climb too 
high, you'll smack into the ceiling and 
crash. 

As your plane glides from left to 
right across the screen, aim for the dia- 
mond-shaped rollers in the middle of 
the room. When you fly through one, 
push your stick hard to the right to 


pick up speed. Control is rather limited 
with this flyer, but you can lose altitude 
quickly by pulling back on the stick. 

As in any house, furniture is a major 
obstacle for paper airplanes. Beds, 
lamps, stereos, and bookcases seem 
to suck the planes into them. When 
you crash, you start again in the first 
room which is filled with nothing but air 
vents and rollers. Since | crash so fre- 
quently, I’m glad that author Cameron 
Kaiser lets me keep the action moving. 
To restart, simply press the fire button. 

The music playing in the back- 
ground is a great rendition of “The 
Blue Danube.” It puts the 64's SID 
chip to good use, but that tune just 
about drives me crazy! The volume con- 
trol takes care of that, however. 

That melodic but cursed back- 
ground music is Flyer's only sound ef- 
fect, but it’s really not that bad. | just 
get annoyed when | can't master a 
game. 

It took me quite some time to devel- 
op just the right touch with Flyer, guid- 
ing the plane through the house. Get- 
ting through the first room filled with 
rollers and vents was a breeze—par- 
don the pun—but | thought I'd never 
make it past that bed in the next room. 
I'd gain a little altitude, pick up some 
speed, fly over a vent, pull back to 


clear the bed, and then swish! Back to 
the beginning. 

Flyer’s graphics are pretty simple: 
Everything's in black, white, and gray. 
The rooms fill only a narrow portion of 
the 64’s monitor. Each one is only 
about two inches high. That's why you 
have to be careful about not flying into 
the ceiling. | think a little more creativi- 
ty could have been shown here to ex- 
pand the playing screen, and the gray 
rooms could use a bit of color to give 
the game more visual appeal. 

The documentation is clear and con- 
cise. It consists of a two-sided sheet of 
instructions and hints that’s well written 
and easy to understand, 

All in all, Flyer is a simple game, and 
that could be its biggest drawback. If 
you're the type who gets discouraged 
easily, you'll probably get bored with 
Flyer rather quickly. On the other 
hand, if you're the type who refuses to 
let a computer beat you, you'll proba- 
bly get addicted to flying this little elec- 
tronic paper airplane. 

CHRISTIAN FLEMING 


Computer Workshops 
3612 Birdie Dr. 

La Mesa, CA 91941 
$9.95 


Circle Reader Service Number 416 o 
JULY 1993 COMPUTE G-13 


Where to find chips 


and whether 


excessive poking can 


G-14 


he hazardous 
to their health. 


COMPUTE JULY 1993 


FEEDBACK 


Character ROM Chip 

Can you possibly tell me 
where | can get the 9011225- 
01 chip for my 64? | have 
been looking since 1991 but 
haven't been able to locate 
one in my country. 

DAVID SANIEL SUAREZ LOPEZ 


VERACRUZ, VER. 
MEXICO 


The chip you want is the Char- 
acter ROM chip, and you can 
order it from The Grapevine 
Group, 3 Chestnut Street, 
Suffern, New York 10901. The 
latest price is $9.50 plus 
$8.50 shipping costs to Mexi- 
co. Ask for part number 
C1225. You can order the 
chip by mail or by calling 
(914) 357-2424. Readers in 
the U.S. can order by calling 
(800) 292-7445. Ask for the 
free catalogue of Commodore 
and Amiga chips, too. 


Poked to Death? 

Question: After about a year 
of sustained use, the SID 
(Sound Interface Device) 
chip in my Commodore 64 
has stopped functioning. Can 
this be caused by misusing 
the chip? For instance, is 
there such a thing as exces- 
sive poking? 

DONALD DRAPER 

RICHMOND, VA 


The SID chip is designed to 
be poked. Such activity is con- 
sidered normal use and will 
not damage it. In general, noth- 
ing any program does will 
ever damage any of a com- 
puter's internal hardware. 
Like all other electronic com- 
ponents, SID chips occasion- 
ally fail. The only cure is to 
replace the chip. Replacing 
the chip can be either simple 
or difficult, depending on 
whether the one in your com- 
puter is socketed or soldered. 
The SID chip, which has the 
numerical designation 6581, 
is located near the center 
of the circuit board in 


both the 64 and 128. 


Math Errors 

When using my 64 for math 
homework, | keep running in- 
to some problems. If | raise a 
variable containing a negative 
number to a fractional expo- 
nent, the computer returns an 
ILLEGAL QUANTITY ERROR. 
It doesn’t happen with con- 
stants. For example, if | have 
the computer print -8 to the 
power of .5, it works fine, But 
if | make X equal -8 and then 
try to print X to the power of 
.5, it doesn’t. Why is this? 
TARQ WILLIAMS 

LAKE GENEVA, WI 


Computers follow a _ rule 
called order of operations or 
operator precedence, which 
tells them which functions or 
operations to perform before 
others. For example, PRINT 3 
+ 2*7 will give you a result of 
17, not 35, because multiplica- 
tion has a higher precedence 
than addition, The result of 2 
* 7 is calculated before the 3 
is added in. 

The up-arrow (power) func- 
tion has a higher precedence 
than the negation (—) function, 
as you'll see if you PRINT -4 T 
2. The 64 prints -16 as the an- 
swer, But squaring -4 should 
result in a positive 16, not aneg- 
ative one. What happens is 
that the result of 4 to the pow- 
er of 2 is calculated; then the 
minus sign is appended. 

Although PRINT -8 t .5 
seems to work, you'll get an er- 
ror message if you try PRINT 
(-8) T .5. So it's not a matter 
of variables versus constants; 
it's strictly a problem with rais- 
ing a negative number to a 
fractional power. 

Raising to the .5 power is 
the same as finding the 
square root of a number. The 
square root of —8 would have 
to be anumber that multiplied 
by itself yielded —8. But when- 
ever you square a real num- 
ber, the result is positive, so 


there's no such thing as a 
square root of a negative num- 
ber, at least among the real 
numbers. Mathematicians use 
imaginary numbers to handle 
square roots of negative num- 
bers, but your 64 isn't built to 
handle imaginary numbers. 


A Teacher’s Thanks 

| would like to thank Gazette 
for providing me with a 
source of programs that | 
have incorporated into an in- 
tegrated computer-use pack- 
age for the teachers of my 
school board. Our education- 
al system, like many, is facing 
financial cutbacks, with little 
or no money available for com- 
puters or software. Your pro- 
grams filled that need. We 
have numerous 64s in our sys- 
tem, and now we are able to 
make much greater use of 
them. 

| selected programs from 
Gazette that provided word 
processing, spreadsheet, da- 
tabase, graphics, and key- 
boarding skills, Other pro- 
grams supplied language 
arts, programming sugges- 
tions, science, social studies, 
and telecommunications re- 
sources. 

With the current wave of up- 
grading, many educators felt 
that the 64 had nothing to of- 
fer. In fact, it has much to of- 
fer if it is utilized to the fullest 
possible extent. The comput- 
ers are already in the system, 
and the Gazette and well-writ- 
ten public domain programs of- 
fer a viable way to provide for 
integrated programming for 
our students. Thank you. 
CAROL A. NAUSS 


CHESTER, NS 
CANADA 


Send your questions and com- 
ments to Gazette Feedback, 
COMPUTE Publications, 324 


West Wendover Avenue, 
Suite 200, Greensboro, North 
Carolina 27408. a 


3 8 BIT | 


PO BOX 542 
LINDENHURST NY 11757-0542 


WENOWCARRY | MINDSCAPE 
Hard Drives & 3.5 inch Drives) POWBRPLAYERS 
AT LOWER PRICES THAN JOYSTICK 
THE MANUFACTURERS! 
1,6 Megabyte 3.5”..... $ 215.00 wow 
100 Megabyte HDD. $ 750.00 ONLY 


Hardware Items Require 
Additional Shipping Fees ! 
Call Before Ordering! 


KEYBOARD SEELS 
DON’T LET YOUR 
COMPUTER SUFFER 
A MELTDOWN 
Protects your keyboard 
even whik you type | 
(C64 or Vic 20.......4#VS64 
Comm. 64C. 'VS64C 
Comm. 128.........#VS128 
Save your Commodore ! 


ONLY $19.00 


$5.00 


QUICK GUNNE 


Joystick / Flyingstick 
4 seperate fire buttons 
to assure your comfort! 
(Trigger, Thumb, and 
both left & right base.) 
Hand Contoured Stick 
And 4 suction cups on 
the bottom of the base. 
for complete control ! 
For serious gamers! 
ONLY $ 15.00 


COMMERCIAL SOFTWARE CLOSEOUTS 
Original Packages ONLY $5.00 cach! 
PUFFY’SSAGA, PARADROID, 


BLOCKOUT, 


DIE HARD 


CLUBHOUSE SPORTS 
WE ARE ALWAYS ADDING NEW TITLES TO 
OUR COMMERCIAL SOFTWARE STOCK ! 
CALL TO SEE WHAT’S NEW THIS MONTH! | 


P. 

PD & Shareware Sets 

ABIG HIT AT 
ONLY $5.00 

1; ASST: StarTrek+ 

3: EDUCATIONAL 


H: HACKER PAC 
I: PSA CLIPART 
J: Telecommunications) 
SIX PAC #2 $ 10.00), 
ADULT IMAGES 

You must be over 18 
To receive this 6PAC ! 
Signature Required ! 
Call to request a more 
descriptive 6 PAC list |) 


SHIPPING $2.00 For First Itcm + $1.00 cach additional item 
*U.S. Funds Only! “SORRY NOC.O.D.’s OR CREDIT CARD ORDERS 
FOR A FREE COPY OF OUR CATALOG, CALL: 
(516)-957-1110 MONDAY - FRIDAY 10am to 5 pm EST 


Circle Reader Service Number 162 


disk! 


COMPUTE. 


Yes, save time and money! Subscribe to the Gazette 
Disk and get all the exciting, fun-filled Gazette pro- 
grams for your Commodore 64 or 128—already on 


Subscribe today, and month after month you'll 
get all the latest, most challenging, and fascinating 
programs published in the corresponding issue of 


New on the Gazette Disk! In addition to the 
programs that appear in the magazine, you'll also 
get outstanding bonus programs. These programs, 
which are often too large to offer as type-ins, are 
available only on disk—they appear nowhere else. 
As another Gazette Disk extra, check out 


Big Blue Reader 128/64 - 4.1 


Transfers word processing, text, ASCII, and binary files between 

(64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks. 

New Version 4.1 features: Transfers ASCII, PET ASCII and Screen 

Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip, 

WriteStuff, GEOS, EasyScript, Fleet System and most others. 

Supports drives # 8-30. New Backup (C128) and Format (1571/1581) 

programs. Reads MS-DOS sub-directories, uses joystick, and more. 
Includes C128 & C64 programs. Requires 1571 or 1581 Disk Drive, 
Big Blue Reader 128/64 - 4.1 only $44.95 


Version 4.1 upgrade, send original BBR disk plus $18. 


Bible Search 3.2 


. The entire Old & New Testament text on 4-1541/71 disks. 

. An Exhaustive English Concordance on 2-1541/71 disks. 
Indexes every word in the entire Bible; 700,000+ references. 

. Incredible five (5) second look-up time, per/word, per/disk. 

. Instant, automatic spell checking of more than 12,800 words. 

. Wildcard and boolean AND, OR & NOT search options. 

. Search the entire Bible in 5 seconds with 1581 or HD (v 3.52). 

. Money back guaranteed! 


KJV $49.95 | NIV $59.95 | KJV & NIV $90 


Includes: C64 & C128 programs; screen, printer and disk output; 
users guide, disk case. Available on 7-1541/71, or 4-1581 disks. 
= Any questions? Call or write for more information. 
Also available! Amiga, Bible Search 
Order by check, money order, or COD. US funds only. 
= jookrate shipping i . No Credit Card orders. 
Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR) 


SOGWAP Software @ (219)724-3900 


115 Bellmont Road; Decatur, Indiana 46733 


“Gazette Gallery,” where each month we present the 
very best in original 64 and 128 artwork. 

So don’t waste another moment. Subscribe to- 
day to COMPUTE’s Gazette Disk and get 12 issues 
for only $49.95. You save almost 60% off the single- 
issue price. Clip or photocopy and mail completed 
coupon today. 

Individual issues of the disk are available for 
$9.95 (plus $2.00 shipping and handling) by writing 
to COMPUTE, 324 West Wendover Avenue, Suite 
200, Greensboro, North Carolina 27408. 


YES! Start my one-year subscription 
to COMPUTE’s Gazette Disk right away 
for only $49.95.* 


O Payment enclosed (check or money order) 


OCharge OMasterCard O Visa 
Exp. Date 

Signature 

(Required) 
Name 
Address 
City 
State/ ZIP/ 
Province Postal Code 


| 
| 
| 
| 
| 
| 
i 
| 
| 
| 
| Acct. No. 
| 
| 
| 
| 
| 
! 
| 
1 
| 
1 


Mail to COMPUTE’s Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430 


* Residents of NC and NY, please add appropriate sales tax for your area. Canadian 
orders, add 7% goods and services tax. 


Explore the exciting 


world of public 


domain and shareware 


programming 


in this new Gazette 


G-16 


column. 


COMPUTE JULY 1993 


PD PICKS 


Steve Vander Ark 


A NEW COLUMN, 
VERSION 2 


Yep, version 2. This is the sec- 
ond time I've written this col- 
umn. If you feel as though 
you've just walked into the mid- 
dle of a movie, let me explain. 
This is a new column that 
deals with public domain pro- 
grams and shareware. | wrote 
the first version a few weeks 
ago, but when | reread the intro- 
duction, | just shook my head. 
It was boring. 

Oh, it was OK. | might use 
it as part of an article some- 
where along the line. It defines 
shareware and a few other re- 
lated terms, chatters about 
how nice it is to be writing this 
new column, and warns 
everyone—in no uncertain 
terms—to pay their shareware 
fees. It ends with a flourish 
about how shareware is on the 
cutting edge of Commodore 
programming today. 

I'm talking bold, new, and ex- 
citing programs that push the 
limits of Commodore's 8-bit 
wonder! I've got to be spitting 
a little flame. | don't want you 
to read this column once and 
then next time decide to save 
it until you've read the part 
again about how to type in the 
programs. | want you to turn to 
this column first! 

I'll be covering programs 
that | hope will provide some 
of the old spark that made the 
64 so exciting—and made its 
owners so gung-ho, so (let's 
face it) nuts about their ma- 
chines. That spark is what 
keeps me coming back to this 
great little machine. 

I've been rummaging in 
some of the stranger corners 
of QuantumLink’s libraries, 
tracking down programs to 
throw at you. Feel free to down- 
load them. I’ve provided file- 
names and uploader names 
for easy downloading. If 
you're not on Q-Link and you 
can't find these files on local 


bulletin boards or at your user 
group, you'll find the programs 
mentioned here on the Gazette 
Disk. Now, let's take a look at 
this month’s programs—a cou- 
ple of fast and furious, arcade- 
style shoot-’em-ups. 


Astra 

By Chris Batchelor 
QuantumLink filename: AS- 
TRA3.SDA, uploaded by Chris- 
EMM. 

OK, for you 128 users out 
there, here's an 80-column pro- 
gram that will cost you hours 
of sleep. The way | see it, 
Chris Batchelor, the sadist 
who created this arcade tor- 
ture, must lie awake nights him- 
self, chortling like the Wicked 
Witch of the West as he imag- 
ines poor joystick jockeys like 
me with crippled thumbs and 
glazed eyes, trying desperate- 
ly to fight off these endless 
waves of death. After playing 
this fast-paced shoot-’em-up, 
| know | need a continuous 
fire button on my joystick, an- 
ything to save my left hand 
from being twisted into a per- 
manent claw. 

Astra starts innocently 
enough. It seems so easy to 
pour merciless fire into those 
little bugs that swoop into 
those little chutes. But then 
there are more and more of 
them. Before long, bugs are 
hurtling down in droves, piling 
up like spilled gummy bears. 
There just aren’t enough 
blasts per second to clear 
them all out. Before long, 
they get you. And then you 
play it again, and again, and 
again. 

You'll love this game, espe- 
cially if you get a rush out of 
annihilating all those little 
bugs like | do. It works its hor- 
rors in 80 columns, which 
means that you won't be able 
to complain at all about the 
graphics. As far as speed 
goes, well, just try to keep up 
with it. | can’t honestly say 
how great it is a higher levels 


(I never survive that long). 
This is the third incarnation 
of this game. The fine-tuning 
has made it a real corker. So 
flex that thumb a bit, slam 
back Mountain Dews until 
your eyes bug out, and face 
the endless hordes in Astra. 


Odin 

By Frank Lindsey 
QuantumLink filename: ODIN, 
uploaded by Mondain. 

OK, all of you 64 users 
who've been reading this and 
growling nasty things about 
those 128 users and their fan- 
cy graphics, here's a game 
that will make a red-eyed, 
thumb-happy zombie out of 
you, too. 

Odin is one of those 
games that put you in a space- 
ship at the bottom of the 
screen, armed with an end- 
less supply of energy bolts or 
whatever. As usual, the de- 
tails are unimportant. What is 
important is that all those 
crazed blobs plummeting to- 
ward you will turn your space- 
ship into pixel dust if you 
don't keep pounding that fire 
button. There's no continual 
fire here (the one major flaw 
in an otherwise outstanding 
game), so plan on some actu- 
al finger or thumb pain as you 
try to clear a path in the weav- 
ing mess. 

Odin does Astra one better 
by hurling a nifty variety of 
nasties down the screen. 
They're all animated with blink- 
ing lights and flapping wings, 
making them nice to look at 
for that split second before 
you obliterate them or vice ver- 
sa. Once you get past the 
first level, they fire back, lob- 
bing little bombs your way. 

Once again, | have to ad- 
mit that | can’t vouch for the 
higher levels. | count myself 
lucky to live past level 2. 

Launch yourself into either 
of these games. Have fun 
and let me know how you 
make out! a] 


= 

RAMLInk 

RAMLink with O MB RAMCard 
RAMLink with 1 MB RAMCard 
RAMLink with 4 MB RAMCard 
Real-Time-Clock for RAMCard (Optional) 
RAMLink Battery Back-up (Optional) 
1.MB & 4 MB SIMM Modules 

Parallel Cable (RAMLink to HD) 
RAMDrive 

RAMDrive 1 MB 

RAMDrive 2 MB 
HD-Serles Hard Disk Drives 
HD-40, 40 MB SCSI Hard Drive 

HD-85, 85 MB SCSI Hard Drive 
HD-100, 100 MB SCSI Hard Drive 
HD-200, 200 MB SCSI Hard Drive 


FD-Serles 3.5", Floppy Disk Drives 


FD-2000 (800K and 1.6 MB Formats) 
FD-4000 (800K, 1.6 MB and 3.2 MB Formats) 
FD Real-Time-Clock Option 

Box of 10, High Density Disks (1.6MB) 


Box of 10, Enhanced Density Disks (3.2 M8) 


Single ED-Disk. (3.2 MB) 


$179.95 
$249.95 


$20.00 
$14.95 
$60.00 

$8.00 


JiffyDOS (Specity Computer / drive model & serial number) 


C84-System (Computer & drive) 


‘SX-64 System (Computer & Internal 1541) 


C-128 System (Computer & drive) 
128-D System (Computer & Internal 1571) 
Additional Drive ROMs 

Software Products 


$49.95 
$49.95 
$59.95 
$59.95 
$24.95 


e0MakeBoot (Makes bootable copies of GEOS 64/128) $12.95 
GateWay/64 or 128 (GEOS Desktop Replacamend $29.95 


geoCanvas (Atemafve GEOS Pant Program) 
Collatte Utilties (Handy GEOS Utlites) 


Perfact Print LO for GEOS (Font Col.182, 49 Fonts) 


Font Collaction 3 (17 Fonts and 5 Borders) 

Border Font Collection 1 (24 Border Fonts) 

JitfyMON - ML Monitor for JittyDOS'64 
Miscellaneous CMD Products 


‘SwittLink, RS-232 Interface (300 to 38,400 baud) 


‘SwiftLink Cable (089 to DB25) 
SID Symphony Stereo Cartridge w/ Player 


NI prices and specifications subject to change without notice 


$29.95 
$19.95 
$49.95 
$19.95 
$19.95 
$19.95 


$39.95 
$9.95 
$39.95 


COMPUTE’s 


SpeedScript Disk 


A powerful word processing Yes! 
package for Commodore 64 Send me —______ copies of COMPUTE’s 


and 128 owners 


A Great Deal for Commodore | airmail.) 


Users! 


* SpeedScript for the 64 


High Performance SCS! Hard Drive for the C64 & C128 


HD Series Hard Drives are available in capacities up to 200 MB, are fully partitionable, and 
can emulate 1541, 1571, & 1581 disks while Native partitions utilize MSDOS-style 
subdirectories. HD's connect easily to the serial bus or parallel via RAMLink. Includes buit- 
in JiffyYDOS, SWAP feature and Real-Time-Clock HD Series Drives offer superior 
compatibility with most commercial software including BBS, Productivity and GEOS. And 
with new pricing, HD Series drives offer the lowest cost/MB of any C64/128 storage devica. 


Power Backed Expandable RAM Disk and Interface 


The fastest possible form of storage, RAMLink provides instant access to files and retains 
data while your computeris tumed off. Easy touse and expandable upto 16 MB, RAMLink 
uilizes the same powerful operating system found in the HD. RAMLink also offers built- 
in JiffyDOS, SWAP feature, reset button, enable/disable switch, pass-thru port and RAM 
port for REU/GEORAM use. Ideal for those requiring maximum speed, expandability and 
connpa with all w/pes of softwere and hardware including GEOS, 


REINS ER TREO 


High Capacity 1.6 and 32 MB 3.5" Floppy Disk Drives 


The FD-2000 and FD-4000 disk drives utilize today’s latest3.5 inch tachnology. FD-2000's 

support 800K (1581 style) and 1.6 MB (High Density) formats, while the FD-4000's offer 

support for the 3.2 MB (Enhanced Density) format as well. Fast and reliable, they support 

1541, 1571 and 1581 style partitions, Native Mode partitioning and can actually read and 

write 1581 disks. FD drives feature built-in JiffyDOS, SWAP button and optional RTC. High 
speed and compatibility make the FD the right drive for every applicati 


liffyDOS Speeds up disk access by as much as 1500% while 
maintaining 100% compatibility with commercial software 

+ Speeds up Loading, Saveing, Verifying, Formatting and Reading / Writing of PRG, SEO, USR and REL fles 

+ BulltinDOS Wedge plus 17additonal features including fla copier, text dump, printer toggle, and rade finable function keys 

+ ROM See ieee eee a oO and dk drives. Supports C-64, 640, SX-64, C-128, 128-D, 1541, 


and Handi 
Mae pone came pny Creative Micro Designs, Inc. 


RAMLink, RAMDrive, FD: UPS $9.00;2nd-day $16.00,,AK HI,Canada $20.00 P.O. Box 646, E. Longmeadow, MA 01028 

GW, PPLO, JOOS, SiD, SL: UPS $550,2 day $10.00:AKH|Canada $15.00 “ 

GBoot Col UM, GCan:{8t Ciass Mal $200; Canada $5.00 Orders: (800) 638-3263 
(Mi Foreign Orders: Cail Info: 

Payment: MC, Visa, Money Order or Bank Check COD shipments add $5.00 Bi BBS: 

CODE may require advanced deport. Partonal checks are hald for 3 whs. 


| SpeedScript Disk. 


I've enclosed $11.95 plus $2.00 postage and handling. (Outside 
U.S. and Canada add $1.00 for surface mail or $3.00 for 


Amount 


| ORDER NOW! 


* SpeedScript 128—80-column version 


* Spelling checkers 
* Mail merge 


* Date-and-time stamp 


* 80-column preview for the 64 


* Turbo save and load 


State 


Mail personal check or money order to 
Commodore SpeedScript Disk 


324 W. Wendover Ave., Ste. 200 
Greensboro, NC 27408 


* Plus more than a dozen other SpeedScript | Residents of North Carolina and New York, add appropriate tax for your area. Canadian 
shies . . ; orders. add 7" good services tax 
support utilities all on one disk (including as a ai eae 
full documentation) 


Please allow 4-6 weeks for delivery. Program available only on 5%-inch disks. 


le Reader Service Number 139 


In order to read a file 
successfully, you 
have to Know what's 
at its end. 


G-18 


COMPUTE JULY 1993 


MACHINE LANGUAGE 


Jim Butterfield 


FILE END CHECK 


BASIC’s INPUT# statement 
has limitations that can cause 
a program crash during a file 
read. The problem surfaces 
when two conditions are met. 
First, the program wants to 
read the whole file, using IN- 
PUT# to get the data and test 
the system variable ST (status) 
to detect the end of the file. 
The second condition occurs 
when the file ends with more 
than one Return character. 

A quick pair of programs 
will show this effect. First, 
write a file as follows. 


100 OPEN 1,8,2,0:BADFILE,S,W” 
110 PRINT#1, “JINGLE” 

120 PRINT#1,“JANGLE” 

130 PRINT#1 

140 CLOSE 1 


Line 130 creates the prob- 
lem by writing a blank line at 
the end of the file. In other 
words, there will be more 
than one Return character at 
the end. Now for the doomed 
reading program. 


100 OPEN 1,8,2,‘‘0:BADFILE” 
110 INPUT#1,A$ 

120 PRINT A$ 

130 IF ST=0 GOTO 110 

140 CLOSE 1 


The program will read “reg- 
ular” files without trouble. But 
on our bad file, the program 
will read JINGLE and JAN- 
GLE and then lock up. 

Why does this happen? It's 
a conflict of two system rules. 
Rule 1: The INPUT# com- 
mand always reads to the 
next Return character. If it 
finds a blank line, it immediate- 
ly goes back for another 
read. Rule 2: If the file han- 
dler is asked to deliver data 
beyond the end of the file, it 
will supply a Return charac- 
ter. Combine these rules, and 
you'll see that if the last line of 
a file is blank, the INPUT# 
statement will continue to 


read blank lines—and it'll do 
so forever! 

Our first project is to write a 
program that will scan a file 
quickly and find out what's at 
the end—a single Return, the 
normal condition; no Return, 
unusual but not fatal; or more 
than one Return, possibly a 
crash. So our program de- 
tects the danger. Another 
time, we'll add to the program 
so that it will fix the problem. 

The BASIC part of our pro- 
gram will ask for the name of 
the data file and open it as log- 
ical file number 1. Then it 
calls the following machine lan- 
guage program at address 
8704, hexadecimal 2200. 

First, connect the input 
stream to logical file 1. 


2200 LDX #$01 
JSR S$FFC6 


Our plan is to store the last 
character of the file at ad- 
dress $2101 and the previous 
character in $2100. As a pre- 
caution, we'll prepare to store 
0 in this last address. 


LDA #$00 


As we go around our loop, 
the A register will contain the 
last character received from 
the file. Store this, and read an- 
other character. 


2207 STA $2100 


To read a character from a 
file, we may use a subroutine 
call to either $FFCF (INPUT) 
or $FFE4 (GET). The result is 
the same either way. 


JSR SFFE4 


The received character is in 
A. We may test for end-of-file 
by looking at our system stat- 
us variable ST. That variable 
is located at hex address 90. 
In Commodore machines pri- 
or to the VIC-20, it's located 
at address $96. 


LDY $90 


If ST has a value of 0, the file 
read is proceeding normally, 
and we have not reached the 
file's end. In this instance, 
BEQ takes us back around 
the loop. 


BEQ $2207 


If we didn't take the BEQ 
branch, we may assume that 
we're at the end of the file. 
The final character, still in the 
A register, is stored at $2101. 


STA $2101 


The last instruction in our pro- 
gram jumps to $FFCC, 
CLRCHN, which restores the 
input stream to its default 
path (screen/keyboard). 


JMP $FFCC 


It's a small program, a fast pro- 
gram—and it will leave the 
last two bytes of the file in 
addresses $2100 and $2101 
and 8448 and 8449 respective- 
ly. BASIC should now close 
the file and test these bytes. 
Here's the program in the for- 
mat of a BASIC loader. 


CJ 108 PRINT"FILE END CHECKER 
{SPACE)- JIM BUTTERFIEL 
D™ 

XR 110 DATA 162,1,32,198,255,1 
69,G,141,6,33,32,228,25 
5 


GS 120 DATA 164,144,246,246,14 
1,1,33,76,204,255 

PC 164 DATA 72,32,204,255,162, 
2,32,201,255,174,9,33 

JF 209 FOR J=8784 TO 8726 

EJ 210 READ X:T=T+X 

BP 220 POKE J,X 

AE 236 NEXT J 

XS 248 IF T<>3G16 THEN STOP 

XF 300 INPUT "NAME OF FILE"; FS 

JQ 310 OPEN 15,8,15 

FJ 320 OPEN 1,8,2,FS 

GB 330 INPUT#15,E,ES:IF E00 T 
HEN PRINT E$:STOP 

QH 346 SYS 8704 

SB 350 CLOSE 1 

SD 366 CLOSE 15 

GC 370 IF PEEK(8449)<>13 THEN 
{SPACE}PRINT"FILE DOES 
{SPACE}NOT END WITH <RE 
TURN>.": END 

SE 380 IF PEEK(8448)<>13 THEN 
{SPACE} PRINT"FILE ENDS 
{SPACE}WITH A SINGLE <R 
ETURN>.": END 

XS 399 PRINT"FILE ENDS WITH MU 
LTIPLE <RETURN> CHARS." 


The Gazette 
Productivity | 
Manager 5, 


Harness the productivity 
power of your 64 or 128! 


Turn your Commodore into 

a powerful workhorse, keep track 
of finances, generate reports 
in a snap, manage your 
money in minutes— 

all with the 

Gazette Productivity 
Manager! Look at all 
your 64/128 Productivity 
Manager disk contains. 


GemCalc 64 & 128— 

A complete, powerful, user- 

friendly spreadsheet with all 
the features you’d expect 
in an expensive commercial package 
(separate 64 and 128 versions are included). 

Most commands can be performed with a single keypress! 


YOUR GAZETTE 
PRODUCTIVITY 
MANAGER 
TODAY! 


Memo Card—Unleashes the power of a full-blown 
database without the fuss! Nothing’s easier—it’s a 
truly simple computerized address file. Just type in 
your data on any one of the index cards. Need to edit? 


Just use the standard Commodore editing keys. (MasterCard and Visa accepted on orders with subtotal over $20). 
Finished? Just save the data to floppy. What could be [| © ©©)©)©0©)0 TTS 
easier? oO YES! Please send me __ Productivity Manager disk(s) 


($14.95 each). 

Subtotal 

—__— Sales Tax (Residents of NC and NY please add appro- 
priate sales tax for your area. Canadian orders, add 
7% goods and services tax.) 

——— Shipping and Handling ($2.00 U.S. and Canada, $3.00 
surface mail, $5.00 airmail per disk.) 


| 
I 
| 
Financial Planner—Answers all of those questions ! 
concerning interest, investments, and money manage- ' 
ment that financial analysts charge big bucks for! You 1 
can plan for your children’s education and know | 
exactly how much it will cost and how much you need t 
to save every month to reach your goal. Or, decide I Total Enclosed 
whether to buy or lease a new car. Use the compound | —Check or'Money Order _ MasterCard — VISA 
interest and savings function to arrive at accurate 1 eee 
| 
| 
I 
I 
I 
| 
| 
| 
! 
| 
| 


(Required) 


estimates of how your money will work for you. ee 
Compute the answer at the click of a key! 


Daytime Telephone No. 


Name 


Address 


City 
State/ up/ 
Province Postal Code 


DON’T MISS OUT ON THIS 
POWERFUL WORKHORSE! 


Send your order to Gazette Productivity Manager, 
324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408. 


G-20 


Use these 
readers’ tips to 
read your 

64’s memory, 
remove REM 
statements, and 
more. 


COMPUTE JULY 1993 


PROGRAMMER’S PAGE 


Randy Thompson 


SNOOPERS AND 
REMOVERS 


Readers have come through 
again with some great tips. 
Let's get right to them. 


Memory Snooper 

Here's a simple BASIC pro- 
gram that searches an area 
of memory for text messages. 


SD 1@ S=41118:E=41865 

PF 20 FOR I=S TO E 

HS 30 C=PEEK(I):IF C>3l AND C< 
123 THEN PRINT CHRS(C); 
GET K$:IF KS=CHRS$(13) TH 
EN PRINT 

IP KS<>"<" THEN NEXT I 


EX 40 


MP 50 


As listed, this program scans 
the area of ROM that contains 
BASIC keywords and error 
messages. You might try 
searching the area of memo- 
ry that contains BASIC pro- 
grams: 2049-40959. To do 
this, in line 10 make S equal 
to 2049 and E equal to 
40959. | find this program use- 
ful in searching for and read- 
ing E-mail that | have neglect- 
ed to read completely before 
logging off QuantumLink. 
You can make the text eas- 
ier to read as it prints to the 
screen by pressing Return. 
This forces the program to 
print a carriage return. To 
stop the program before it fin- 
ishes searching memory, 
press the back arrow key. 


BRIAN KISSINGER 
EVANSVILLE, IN 


Function Keys 128 

When programming in BASIC 
on the 128, the GET state- 
ment doesn't return the Com- 
modore 64 character codes 
for function keys (133-140) un- 
less you execute a POKE 
828,183 first, thus disabling 
the keys’ preprogrammed def- 
initions. (POKE 828,173 re- 
turns the 128's function keys 
to normal.) 

Rather than disabling the 
128's function key definitions, 
you can use them to simulate 
a string of keypresses that 


your program recognizes. For 
example, | recently wrote a 
game that lets me press G at 
any time to access a game- 
control menu. From that 
menu, | can press L to load a 
game or S to save a game, af- 
ter which the program dis- 
plays the prompt Are you 
sure (Y/N)? before continuing. 
To simplify the selection of 
the game-save option, | pro- 
grammed the f1 key to simu- 
late pressing the G, S, and Y 
keys with this command: 


KEY1,“GSY” 


Now when | press the f1 
key while the game is run- 
ning, the character codes for 
the G, S, and Y keys are put 
into the keyboard buffer and 
read by the game's GET state- 
ment. This calls up the game- 
control menu, selects the 
save-game option, and an- 
swers Y in response to the 
Are you sure (Y/N)? prompt. 
This gives me three keypress- 
es in one! 


RICHARD R. HARVEL 
FORT WORTH, TX 


REMover 

The following program re- 
moves all REM statements 
from 64 BASIC programs. To 
use this handy utility, load 
and run the program shown 
below. Then load the BASIC 
program containing the un- 
wanted REM statements, and 
type SYS 49152. 


SH 108 
AJ 118 


REMOVER 
FOR I=49152 TO 49392:RE 
AD D:POKE I,D:C=C+D:NEX 
71 

IE C¢>33534 THEN PRINT 
{SPACE}"ERROR IN DATA S 
TATEMENTS" 

DATA 24,165,43,105,2,13 
3,253,165,44,105,0,133 
DATA 254,32,204,192,176 
,6G,24,165,253,195,2 
DATA 133,253,165, 254/19 
5,G,133,254,166,0,148,2 
40,192,177,253 

DATA 248,8,201,143,248, 
37,200,76,33,192 

DATA 152,24,105,3,32,21 
9,192,32,204,192,176,18 
DATA 24,165,253,185,2,1 
33,253,165,254,165,6,13 
3 


JF 120 


CA 138 
ap 146 


MK 150 


XK 166 
PX 176 


Gs 186 


GD 196 DATA 254,166,8,76,33,19 


2,76,51,165,192,6,240 
DATA 1,136,152,32,219,1 
92,166,0,177,253,240,4 
DATA 268,76,92,192,152, 
141,239,192,173,248,192 
7261 

DATA @,268,22,24,173,23 
9,192,105,5,141,239,192 
DATA 56,165,253,233,5,1 
33,253,165,254,233,0 
DATA 133,254,24,165,253 
772,169,239,192,133,251 


PP 200 


KK 210 


BK 220 
GB 230 
PX 240 


165,254 
DATA 72,105,0,133,252,1 
60,8,177, 251,145, 253,32 
DATA 191,192,32,204,192 
176 ,3,76,151,192,104 
DATA 133,254,104,133,25 
3,56,165,45, 237,239,192 
133,45,165,46 

DATA 233,0,133,46,160,0 
176, 48,192,230 

DATA 251,208, 2,230,252, 
230,253,208,2,230,254,9 
6 


GH 256 
PA 268 


AH 276 


GR 280 


BB 290 


MQ 300 DATA 24,165,254,197,46, 
208,7,165,253,197,45 
DATA 208,1,56,96,141,23 
9,192,24,165,253,109,23 
9,192 

DATA 133,253,165,254,10 
5,0,133,254,096,9,9,0,0 


pe 310 


GF 320 


Besides making a program 
smaller, removing REM state- 
ments can make a program 
run faster because the comput- 
er no longer has to skip over 
those descriptive but nonfunc- 
tional lines of code. 

At first glance, line 100 
may appear to be missing a 
REM statement before the pro- 
gram’s name. Of course, 
when the program runs, BA- 
SIC will interpret the first 
three letters of the word as 
REM and pass on to the next 
line. This means you can test 
the program on itself. 

Be careful not to run this util- 
ity on programs that have 
GOTO or GOSUB commands 
that jump to lines that begin 
with a remark. Those lines 
will also be deleted. 


VINCE TAGLE 
GRANADA HILLS, CA 


“Programmer's Page” is inter- 
ested in your programming 
tips and tricks. Send all sub- 
missions to Programmer's 
Page, COMPUTE's Gazette, 
324 West Wendover Avenue, 
Suite 200, Greensboro, North 
Carolina 27408. We pay $25- 
$50 for each tip we use. O 


Gazette 
Index 


Everything’s included! 
Features, games, reviews, 
education/home applications, 
programming, bugswatter, 
feedback, and columns! 


A superb interface includes pull- 
down menus, help screens, and 
keyboard, joystick, or mouse con- 
trol. Features include super-fast 
searching and sorting capabilities. 
An options screen allows you to 
choose text colors, drive number, 
and input device. And there’s full 
documentation on disk. 


Choose from three modes of opera- 
tion—browse for quick scanning, 
view for detailed information and 
descriptions, and edit for adding 
items from upcoming issues—and 
print to any printer. There’s even a 
turbo-load option for maximum 
disk-access speed. 


ORDER YOUR 
GAZETTE INDEX 
TODAY! 


(MasterCard and Visa accepted on 
orders with subtotal over $20.) 


To order, send $7.95 per disk, the 
quantity of disks ordered, check 

or money order,* your name and 

complete street address: 


Gazette Index 

324 West Wendover Avenue 
Suite 200 

Greensboro, NC 27408 


*Please add $2 shipping & handling ($5 foreign) for 
each disk (residents of NC, NJ, NY please add appli- 
cable sales tax; Canadian orders, add 7% goods 
and services tax). 

All payments must be in U.S. funds. Please allow 4 
weeks for delivery. 


KeyDOS ROM Version 2 is here! 


The KeyDOS ROM is a chip for the empty socket inside your C128 that adds more than 40 
powerful features. KeyDOS is-available instantly as soon as you switch on your 128! 
KeyDOS is loaded with useful tools to simplify file access on multiple drive systems without typ- 
ing file names—all major DOS functions included. Select multiple files for copying, viewing, 
printing, renaming or scratching. ASCII/CBM/Screen code converter. Full support for 1581 
subdirectories. Built-in RAMDOS for REUs up to 2MB. New GEOS SupeRBoot. 

Alarm clock. Disk editor. Powerful debugger. 

Only $32.50. Satisfaction Guaranteed! Write for more information. 
Enhance your system with the speed and convenience that KeyDOS provides! 


Antigrav Toolkit, PO Box 1074, Cambridge, MA 02142 
Shipping outside of US, Canada and Mexico add $3 


Circle Reader Service Number 244 


NEW GEOS SOFTWARE scene 


GeoSoli 
THE LANDMARK SERIES Cheeke 


Dual Top - The PREMIER Desk Top replacement, Provides full four drive support, RAM drive 
priority system, one click access to major file functions, comprehensive error reports, full set of 
keyboard shortcuts, multiple user options plus many more features. 40 and 80 col modes. 

Lace Il - Display GeoPaint, IPaint, and Basic8 pictures. Full color. 128 - 80 column mode only. 
GeoTet - Relax and enjoy a game of logic and skill. Full color 40 and 80 column modes, 
GeoSolitaire - Try your hand at America’s favorite card game. Full color, 40 and 80 columns. 


To order the Land: 
Send a check or money order for $24.9: 13.00 S/H to: 
C/O The Landmark Series, 2253 N Kansas Aye, Sprin 


Circle Reader Service Number 135 


REU users: Battery Back any 17xx or GEORAM, with the BBU. Use with GEOS (V1.3 up), 
RAMDOS or other programs that use REUs. Great for BBS. No heavy power supply needed. 
GEOS users: BBGRam, Battery backed RAM for GEOS 2.0. A fast, reliable altemative to 
mechanical drives. Supports all drive types, multiple partitions and alternate DESKTOPs. 


PERFORMANCE PERIPHERALS, Inc. 


5 Upper Loudon Road, Loudonville, NY 12211. 

US orders, literature: 800-925-9774. Tech support, orders, FAX: 518-436-0485. 
BBU $59, BBGRam 512K $89, BBGRam 1M$119, BBGRam 2M $159. 
US S&H $6. US COD $4. Canada & Mexico S&H $10. Other countries S&H $19. 

‘30 day money back guarantee. 90 day warrantee. Master Card / VISA welcome, 


Circle Reader Service Number 153 


sy. 4 ~ ‘the MOST POWER Tor the BUCK” 
L Peainnt ceerteeziteseren seis te 


' Reh 1991 
= | 1 Paint lets you create on a 640 by 400 pixel screen-- that's 
T= Interlace! AS SouBLE we soe ned by any other graphics software! 


| 1 Paint’s Interlace screen offers the unique ability to blend colors for 
I= Incredible! 65,536 APPARENT COLORS! 


ital af 
Import GIF, MAC, GEOS, Basic8, Doodles © PrantSbop! I Port. mt $19.95 LN 
Elly dene custoon SAVE! both $49.95)| “saris 


Easily define custom GIF palette templates! 
Check or money order only. MN residents add 6-1/2% sales tax Allow 2- 4 waoks for delivary 


Circle Reader Service Number 146 


Fast Action Arcade Style Game 
1 ae for the Commodore 64/128+1541 


24. 95 plus $3 Shipping and 
e Handling in the U.S.A. 


S/H in Canada $5 and $10 for all others. 
— American Currency Only — 


Send Check 


=o Werestorm Software. 
Box 1086, Sidney, MT 59270 


Order to: 
Circle Reader Service Number 289 


G-21 


G-22 


Here’s how to 
activate your 64's 
user port at 

any time of day. 


COMPUTE JULY 1993 


BEGINNER BASIC 


Larry Cotton 


USER PORT CLOCK 
(PART 2) 


The 64 is blessed with four 
ports to connect with the out- 
side world. Two of them are 
quite well known: joystick 
ports 1 and 2, which are locat- 
ed on the right side of the com- 
puter next to the power 
switch. As we learned some 
time back, those ports can be 
used for output as well as for 
normal joystick input. 

The other two ports may not 
be quite as familiar to you. Fac- 
ing the computer as you nor- 


USER PORTS LOOKING AT REAR OF COMPUTER 
(GROUNDS AT PINS 1, 12, A, N) 


so have a basic knowledge of 
digital electronics or know 
someone who does. 

Please remember two 
things: that all ports are con- 
nected to the innards of your 
computer and that their out- 
puts are rather feeble and sen- 
sitive to abuse. Avoid static 
electric charges like the 
plague, and always connect 
ports to low-voltage circuits by 
means of properly matched op- 
to-isolators, transistors, and/ 
or relays. 

The figure below shows the 
user port as you face the rear 
of the computer. The pins 


mally do, the port at the ex- 
treme right rear is the car- 
tridge port. It normally accepts 
game and other types of car- 
tridges, such as the common 
fastload cartridge. The port on 
the extreme left rear is the us- 
er port, to which | referred last 
month. When you want to 
make a connection to the out- 
side world, that's the one to 
think of first. This port is easy 
to program in BASIC. I'll show 
you how to turn on and off 
each of its pins. 

In fact, the programming is 
easier than wiring the hard- 
ware. As | warned you last 
month, | won't go into a lot of 
detail about user-port connec- 
tions. If you decide on a pro- 
ject, you'll need a card-edge 
connector with .156-inch termi- 
nal-to-terminal spacings, avail- 
able at Radio Shack or Mous- 
er Electronics. You should al- 


which we can control easily 
are those on the bottom row let- 
tered C through L (skipping G 
and |). 

Here's a very simple pro- 
gram that looks at the key- 
board to see if C, D, E, or Fis 
pressed. 


10 P=56577: REM USER PORT 

20 POKEP+2,255: REM ALL PINS 
OUTPUT 

30 POKEP,O: REM ALL PINS OFF 

40 GETAS: IFAS="""THEN40 

50 IFAS="‘C” THEN POKEP,1 

60 IFAS="D" THEN POKEP,2 

70 IFAS="E" THEN POKEP,4 

80 IFAS=""F” THEN POKEP,8 

90 GOTO40 


Line 20 sets up the user 
port so that all subsequent 
POKEs are interpreted as out- 
puts, line 30 turns all pins off, 
and line 40 waits for a key to 
be pressed. 


When you run this, press- 
ing C, for instance, turns pin 
Con. (In the jargon of electron- 
ics, the voltage on pin C 
goes high or jumps from 0 to 
+5 volts DC.) This voltage is 
enough to power a Light Emit- 
ting Diode (LED) or trigger a 
sensitive transistor or relay, 
which must be connected be- 
tween the controlled pin and 
a ground (pin 1, 12, A, or N). 

Now let's. finish last 
month's program. Add lines 
10-30 from the above pro- 
gram, change line 420, and 
add lines 430-470. 


420 PRINT'*[CLR][DOWNJUSER 
PORT PIN C ON. 

430 PRINT[DOWN]PRESS ANY 
KEY TO TURN OFF. 

440 POKEP,1 

450 GETA$:IFA$=""THEN450 

460 POKEP,O 

470 PRINT [DOWNJUSER PORT 
PIN C OFF. 


Now when you run the pro- 
gram, enter the times as you 
did last month. When the 
“alarm” goes off, pin C in the 
user port is turned on. Poking 
other values to P in line 440 ac- 
tivates other pins as follows. 


Poking Turns On 
1 Cc 
2 D 
4 E 
8 F 
16 H 
32 J 
64 K 
128 L 


Combinations of pins can 
be activated by adding the val- 
ues in the left column corre- 
sponding to the pins you 
want to turn on. For instance, 
to turn on pins C and H, poke 
17 (1 + 16) to P (56577). To 
turn on pins J, K, and L, poke 
224, 

I've just about run out of 
space for this month, but I'll 
mention some of the pro- 
gram's highlights. 


The subroutine in lines 290- 
410 gathers user input in 
hours, minutes, and seconds 
to set the clock and the 
alarm, Line 90 pokes values 
based on this user-supplied 
information to three clock regis- 
ters 56329-56331. Line 130 
forms a variable B which is 
calculated from these values. 
B is the number of seconds 
from midnight to when the 
clock's alarm is set—when 
the user port is to be activat- 
ed. For example, B would 
have a value of 25,200 for 
7:00 a.m. Line 160 starts the 
clock by poking a 0 to the 
tenths-of-seconds register 
56328 

The clock is updated and 
printed to the screen in a 
loop in lines 170-280. The 
same registers we poked are 
continually peeked in line 
470, from which printable val- 
ues are derived in lines 180- 
220. A in line 230 is the actu- 
al time of day in seconds 
from midnight. Line 240 con- 
tinually compares A to B. 
When they're equal, the alarm 
goes off; control zips to line 
420 which turns on pin C in 
the user port. Here's the en- 
tire listing in case you missed 
last month's column, Remem- 
ber, always set the user port 
to activate within 24 hours of 
starting the clock. 

BM 16 P=56577:REM USER P 
ORT 
POKEP+2,255:REM AL 
L PINS OUTPUT 
POKEP,@:REM ALL PI 
NS LOW 
PRINTCHRS (147) : POK 
£53281,14:POKE646, 
6 

PRINT"SET CLOCK AT 
: {DOWN}" 

R=8 : GOSUB29:K=432 
@G:REM 43260 SECON 
DS IN 12 HOURS 
IFIS$="PM"THENX=K 
FORI=1T03:H=INT (T ( 
1) /16) :L=T (I) -10*H 
3:7 (1) =16*H+L:NEXT 
C=56331:POKEC,T (1) 
:POKEC-1,T (2) : POKE 
c-2,T(3) 

166 PRINT" {DOWN}ACTIV 


BF 20 


cc 36 


Ds 46 


KR 56 


PK 60 


GX 
ER 


76 
8a 


MC 9G 


FA 


XG 


XM 
GJ 


HD 


FD 


HA 


SG 
BJ 


XX 
MD 


HG 
DE 


KE 


RA 


HP 


PG 


CE 


GG 


pc 


116 
126 
136 
146 
156 
163 
176 
186 
198 
268 


216 


226 


236 


240 
256 


266 
276 


286 
296 


308 


316 


328 


336 


346 


356 


368 


ATE USER PORT AT: 
{DOWN}" 
R=18:GOSUB299 
IFIS="PM"THENY=K 
B=Y+T (1) *3600+T (2 
)*60+T (3) 
PRINT" {DOWN} PRESS 
ANY KEY TO START 
CLOCK. {DOWN} 
GETAS: IFAS=""THEN 
156 
POKEC-3,0 
H=PEEK (C) :M=PEEK ( 
C-1) :S=PEEK(C-2): 
T=PEEK (C-3) 
C1$=CHRS ( (16ANDH) 
/16+48) +CHRS ((15A 
NDH) +48) 
H=VAL (C1$) *3600 
IFC1$="@9"THENC1S 
="q2" 
C2$=CHRS ( (24GANDM 
) /16+48) +CHRS ((15 
ANDM) +48) :M=VAL(C 
2$)*66 
C3$=CHRS ( (24GANDS 
) /16+48) +CHRS ((15 
ANDS) +48) :S=VAL(C 
3$) 
A=X+H+M+S:IFA=2*K 
THENPOKEC, @: POKEC 
-3,0:X=6 
IFA=BTHEN4 26 
IPACKTHENJS="AM": 
GOT027¢ 
J$="PM" 
PRINT" {WHT}TIME I 


H$=""; INPUT"HOURS 
“SHS: IFHS<"G"ORHS 
>"9""THENPRINT" 

{2 uP}":GOTO296 

T (1) =VAL (H$) : IFT ( 
1) <@ORT (1)>12THEN 
PRINT" {2 UP}":GOT 
0296 

IFT (1)=12THENT (1 
=6 

MS="": INPUT" 
{DOWN }MINUTES" ; MS 
: IFM$<"G"ORMS>"9" 
THENPRINT"{3 UP}" 
:GOTO32G 

T (2) =VAL (M$) : IFT ( 
2) <@ORT (2) >59THEN 
PRINT" {3 UP}":GOT 
032 

s$=""; INPUT" 
{DOWN}SECONDS"; SS 
: IFS$<"G"ORSS>"9" 
THENPRINT"{3 UP}" 
:GOTO34G 

T (3) =VAL (S$) :1FT( 
3) <GORT (3) >S9THEN 
PRINT"{3 UP}":GOT 

0346 

PRINT" {DOWN}AM OR 
PM (PRESS A OR P 


" 
GETIS:IFIS<>"A"TH 
ENIFIS$<>"P"THEN37 
8 
IFIS="A"THENIS="A 
M";GOTO406 
1$="PM" 
POKE214,R: PRINT: P 
OKE211,24:PRINTIS 
RETURN 
PRINT" {CLR} {DOWN} 
USER PORT PIN C O 
Ny" 
PRINT" {DOWN} PRESS 
ANY KEY TO TURN 
{SPACE}OFE. 
POKEP,1:REM TURNS 
ON PIN C 
GETAS$: IFAS=""THEN 
450 
POKEP,@ 
PRINT" {DOWN}USER 
{SPACE}PORT PIN C 
OFF." o 


HD 


4 


ATTENTION 
WRITERS, 
PROGRAMMERS 


Gazette is looking for utili- 
ties, applications, games, 
educational programs, and 
tutorial articles. If you've cre- 
ated a program that you 
think other readers might en- 
joy or find useful, send it 
and the documentation on 
disk to 


Gazette Submissions 
Reviewer 

COMPUTE Publications 
324 W. Wendover, 

Ste. 200 

Greensboro, NC 27408 


Please enclose an SASE if 
you want your materials re- 
turned. 


Send New Product 
Announcements 
and/or Press Releases 
on your 
Commodore 64/128 
products to: 

Tom Netsel c/o 
COMPUTE 


JULY 1993 COMPUTE 


G-23 


A 64 can be an ideal 


first computer 


for toddlers—as well 


24 


as a great 
teaching tool. 


COMPUTE JULY 1993 


D'IVERSIONS 


=a Se a 


Fred D'lgnazio 


TODDLER’S CHOICE 


For a recent Public Broadcast- 
ing Service show, “Learning 
Matters,” we videotaped my 
segment, Technology Corner, 
in my family's study. We re- 
viewed the newest multimedia 
CD-ROM titles for toddlers, in- 
cluding Just Grandma and Me 
(Broderbund); Mother Goose 
(Sierra On-Line); Silly, Noisy 
House (Voyager); and Millie's 
Math House (Edmark). Our re- 
viewers were my three-year- 
old daughter Laura and her 
one-year-old buddy Alex. 

At the end of the segment, 
the show's producer, John Mer- 
row, noted that the equipment 
and software we used was 
“expensive and possibly out 
of reach” for many families. He 
wanted to know if there was an- 
other toddler we could inter- 
view who had a more down-to- 
earth computer setup. 

| thought of Tommy Kurek, 
Laura's next-door neighbor, 
and we called Tommy's par- 
ents and scheduled a visit. 

Tommy's computer, _ it 
turned out, was a perfect tod- 
dler configuration: a second- 
hand Commodore 64. Most of 
the software titles and extra 
equipment were purchased at 
yard sales or flea markets. The 
price of Tommy's entire setup 
was well under $400—the 
price of a single CD-ROM 
drive. 

The computer station was 
on a small table in the corner 
of the family living room sur- 
rounded by books, Tommy's 
toys, and two or three loung- 
ing cats. When the family did 
their computing, Tommy sat in 
his chair, and his mom and 
dad sat on each side of him 
on the floor. This made them 
all about the same size. 

To begin the interview, we 
asked Tommy's daddy, Keith, 
if Tommy had suffered from 
not having the latest multime- 
dia computer equipment. 

“| don't think so,” said 


Keith. “Tommy just turned 
three. While he was still two, us- 
ing the Commodore 64, he 
learned how to write his own 
name, his friend Laura’s 
name, my name, his mommy's 
name (Leanne), and the 
names of all four family cats. 

“Also, while he was two, 
Tommy used the computer to 
learn how to count to 39, 
count objects on the comput- 
er screen and press the cor- 
rect number on the keyboard, 
and recognize and find every 
number from 0 to 9 and every 
letter in the alphabet.” 

“Do you have any advice 
for fellow parents who have tod- 
dlers?” we asked Keith. 

“Tell them to find or buy a 
Commodore 64,” said Keith. 
“If the parents buy an expen- 
sive computer, they'll be so wor- 
ried about its safety they'll nev- 
er be relaxed around it with 
their two-year-old, and they'll 
be afraid to turn their child 
loose on the computer. The 
great thing about this comput- 
er is it's 100 percent Tommy's 
computer. He can do anything 
he wants, and the Commo- 
dore can take it. 

“The other good thing 
about the 64,” Keith contin- 
ued, “is that lots of Tommy's ed- 
ucational programs come on 
Cartridges. When we go visit 
Grandma on weekends, we 
just throw the computer into 
the car along with a couple of 
Tommy's favorite cartridges. 
At Grandma's we plug into her 
television set, and Tommy is 
busy for hours working on his 
number, shape, and letter 
games. When it comes time to 
go home, it takes about ten sec- 
onds to unplug the computer 
and toss it back into the car.” 

We asked Tommy to pick 
out his favorite 64 programs to 
recommend to other toddlers 
who are just starting to com- 
putey. Here's his list: 


© KinderComp (Spinnaker 
Software). A set of shape-, num- 


ber-, and letter-recognition pro- 
grams perfectly suited for 
your toddler computer whiz. 

* Astro Grover (CTW-Sesa- 
me Street). Same as above, 
featuring the lovable Sesame 
Street muppet Grover. 

¢ Ernie's Magic Shapes 
(CTW-Sesame Street). Shape- 
recognition program featuring 
Ernie. 

* Big Bird's Special Deliv- 
ery (CTW-Sesame Street). 
More early learning programs 
featuring Big Bird. All three pro- 
grams (Grover, Ernie, and Big 
Bird) can be found in a single 
package entitled The Sesame 
Street Learning Library. 

* Kids on Keys (Spinnaker 
Software). Helps with key- 
board recognition. 

* Alphabet Zoo (Spinnaker 
Software). Letter recognition. 

¢ Learning with Leeper (Si- 
erra On-Line). Fun, education- 
al games hosted by cute little 
onscreen characters such as 
Leeper. 

* Design-a-Saurus (Britan- 
nica Software). Dinosaur rec- 
ognition and naming program. 
(Tommy is a dinosaur nut. He 
carries a Tyrannosaurus Rex 
doll to bed with him instead of 
a blanket.) 

¢ Dinosaurs Are Forever 
(Polarware). More reptiles for 
young dinosaur enthusiasts. 

* Kermit's Electronic Story 
Maker (Simon & Schuster). 
You and your children can 
cook up your own online pic- 
ture books. 


The cost of these programs? 
“At worst, under a hundred dol- 
lars,” Keith says. “The impor- 
tant thing is to watch for yard 
sales where you can pick up 
children's software for justa cou- 
ple of dollars. Also, sign onto lo- 
cal bulletin boards where you 
can pick up lots of freeware edu- 
cational programs. Join a 64 us- 
er group, and you're sure to run 
into other young parents who 
are eager to share with you and 
your kids.” a 


PROGRAMS 


ULTIMATE ML MONITOR 


By Ted Green and Ed Balchick 
Examining and debugging troublesome 
machine language (ML) routines or trying 
to see how well machine code actually 
works is usually a struggle. ML programs 
run so quickly that it's difficult to 
determine exactly what happens and 
when it happens without altering the pro- 
gram. A standard monitor's breakpoint re- 
turns are not much help because the dis- 
play is corrupted and the program halts. 

Now, with the Ultimate ML Monitor, you 
can execute any piece of ML code in 
slow motion or single step through it one 
command at a time! A special user inter- 
face lets you interact directly with the ML 
program, You can view and control the ac- 
tual operation of the program in text or hi- 
res mode as it runs; examine and modify 
the program, data, or register values; and 
allow the Kernal serial bus to access rou- 
tines while in the single-step mode. 
These and many other features, such as 
full implementation of 6502 quasi-op- 
codes, make the Ultimate ML Monitor a 
powerful programming utility that you'll 
wonder how you did without. 


Getting Started 
Ultimate ML Monitor consists of three 
programs: two small programs that 
make up the loader system and the 
main program. These three files must 
all be saved to the same disk, but the 
program that you wish to monitor can 
be on any disk, even another drive. 
The setup portion of the loader sys- 
tem is written in BASIC. To avoid typ- 
ing errors, use The Automatic Proofread- 
er to enter the program. See “Typing 
Aids" elsewhere in this section. When 
you finish typing this portion in, save it 
to disk with the filename ULTIMON.B. 
Next, the smart portion of the loader 
system is written in machine language, 
and you will need MLX, our machine lan- 
guage entry program. Again, see “Typ- 
ing Aids."" When MLX prompts, re- 
spond with the following values. 


Starting address: CC13 
Ending address: CFFE 


After you type in the loader program, 
be sure to save a copy to disk with the 
filename ULTIMON.L. 

The monitor portion of the program 


is written entirely in machine language 
for speed and compactness. You 
must enter this program with MLX. 
When MLX prompts you, respond with 
the following values. 


Starting address: 8000 
Ending address: 8EBF 


Be sure to save a copy to disk with the 
filename ULTIMON.O. 


Loading the Program 

Ultimate is very easy to use, Load and 
run Ultimon.B as you would any BASIC 
Program. Before you run it, however, 
you should have the program available 
that contains the ML code that you 
wish to examine. This program should 
be copied onto the same disk as the UI- 
timate system if you are using a single 
drive. If you are using Ultimate with a 
two-drive system, have each disk in a 
drive before running Ultimate. 

As for what kind of program to look 
at, the possibilities are almost limitless. 
You aren't limited to looking at a pure 
ML program, the kind you load with the 
,8,1 extension and start with a SYS com- 
mand that you often forget. Ultimate 
will examine an ML program that 
loads like BASIC or even a BASIC pro- 
gram that reads the ML from data state- 
ments and pokes them to memory and 
then calls them with a SYS command. 

In the latter two cases, Ultimate can 
catch the ML portion just as BASIC 
tries to execute it (if you start in single 
step). This means that for BASIC pro- 
grams in general, all of the BASIC is ac- 
tually run by the interpreter. However, 
once you are in the ML routine, you can- 
not go back to the BASIC program. 

When you have selected the pro- 
gram that you wish to examine, load 
the drive(s) and run Ultimon.B. The 
screen will clear and display the follow- 
ing prompt. 


ADDRESS TO LOAD MONITOR: 


The address must be entered as a dec- 
imal value. The Ultimate program can 
be put at any unused area from 2048 
($0800) up to and including 36864 
($9000). It can also be put at 49152 
($CO00). If you try to place it above 
49152, you will get an error message. 
Placing the monitor in the RAM under 


ROM (BASIC or Kernal) is possible, but 
not recommended, except for ad- 
vanced users. The most important fac- 
tor in choosing the load address is de- 
termining where there will be 4K of 
memory that won't be used by the pro- 
gram to be monitored. 

Don't forget about BASIC variables. 
If they are a problem, protect 4K for Ulti- 
mate first. Ultimate will protect itself 
from any memory access commands 
while in any mode except full speed. 
This protective feature will cause the 
monitored program not to execute 
those commands, possibly causing an 
infinite loop in the monitored program. 
If this happens, it's best to start over 
and choose a new load address. 

You'll then be prompted for a pro- 
gram to monitor and a drive number 
from which to load. If you enter the 
same drive as the current drive, you 
must copy your program to the disk 
with the Ultimate system on it because 
there is no time to switch disks. 

You'll then be asked whether you 
want to run the program in single-step 
mode or at full speed. Enter S for sin- 
gle step or F for full speed. You'll usu- 
ally want to start in single-step mode 
for most small programs or anytime 
you want complete control over the 
whole monitored program. Full-speed 
mode is a good choice when you 
want to monitor a large program, and 
the piece of code that you're interest- 
ed in is executed sometime after the 
program begins. 

If you select full speed, hitting the Re- 
store key at anytime will break into the 
program in the single-step mode (un- 
less the program changes the NMI vec- 
tor at $0318 while in full speed). When 
the single-step mode is activated, the 
status line will be displayed at the bot- 
tom of the screen. 


Using the Program 

Once you enter the single-step mode 
of Ultimate, the main program interface 
is the interactive status line. Note that 
all numbers on the status line are 
shown in hex. The main features of the 
status line are the following: PC 
(which shows the contents of the emu- 
lated program counter of the program 
you are examining) and A, X, Y, and 
SR (which are the current contents of 
the emulated accumulator and the X, 


JULY 1993 COMPUTE G-25 


PROGRAMS 


Y, and status [flag] registers). 

To the left of PC is the space for the 
full-speed Kernal routine indicator, an 
asterisk (*). More about that later. 

The most important feature of the stat- 
us line is the command display field. 
This contains the opcode mnemonic of 
the current instruction and the operand 
field. The operand field can be toggled 
between two different types of displays 
for some commands. The secondary 
mode is like a standard disassembler 
listing of the command. 

The main display mode is what 
gives Ultimate its powerful debugging 
features. It has the ability to convert the 
addressing mode into the actual mem- 
ory location used by the CPU and to dis- 
play it on the status line. For example, 
if locations OE = 75, OF = 10, and 
Y = AF, then the command above 
would display as LDA $1124. You can 
toggle between these two modes at an- 
ytime with the asterisk key, even view 
the two modes of the same command 
without stepping. There are some com- 
mands that will show an address 
(branches, RTS, JSR, and so on) that 
look identical. The command field also 
indicates the address of the destina- 
tion if a branch is taken. An RTS will dis- 
play the actual address of the com- 
mand after the JSR, not the address 1 
that it pulls off the stack. There are 
some other features used in the status 
display, but these will be discussed in 
the appropriate key description below. 


Key Functions 
A single keystroke activates many of UI- 
timate’s key features. 


F7 

Pressing f7 executes the next program 
instruction and displays the results on 
the status line. 


S) 

Press S to enter slow motion program 
emulation from single-step mode. The 
approximate execution speed of this 
mode varies greatly, but generally 
takes about 150 times longer than real 
execution speed. If there are a lot of 
Kernal routines, the Kernal mode can 
speed up the program considerably. 


e 
The back arrow exits the monitor and 
G-26 COMPUTE JULY 1993 


runs the monitored program in full 
speed (real execution). Ultimate may 
be corrupted if set at a bad address. 
This key is good for running through a 
large piece of code to get to a particu- 
lar point. It also sets up the Restore 
key to go to single-step mode. 


Restore 

Restore triggers Ultimate from full- 
speed mode, breaks into the program, 
and enters single-step mode at the cur- 
rent command. 


* 


The asterisk toggles the operand field 
display between disassembly mode 
and address-calculation mode. 


fl 

This function key toggles the status 
line on and off without running the pro- 
gram, It's used to view the current vid- 
eo display area under the status line. 
Single step (f7) and slow motion (S) 
are the only valid keys while the status 
line is off. 


H 

Hunt allows you to enter an address 
that is the actual computed address op- 
erand of a command. The program 
runs in slow motion until it finds a com- 
mand that uses that address. This is 
useful for seeing when a particular mem- 
ory location is accessed in a program. 
If the hunt is successful and the status 
line displays the command line and 
PC, you can toggle the display mode 
(*) or look at the source code listing. 
Hunt can also be exited at anytime 
with the @ (At) key. 


R 

The R key will let the program run until 
an address is reached. Enter the PC of 
any command in the code and then 
the program will run in slow motion un- 
til the command is ready to be execut- 
ed. This means that when the single- 
step mode display comes on, the com- 
mand before the one you selected will 
be on the display line. That is because 
when a command is shown, it has al- 
ready been executed and the new PC 
has been calculated. This is useful to 
get the program to the beginning of a 
specific subroutine or section of code 
that you are interested in without hav- 


ing to try to stop it by hand at the right 
spot. This mode can be canceled at an- 
ytime by pressing the @ (At) key. 


J 

Use the J key to run through a subrou- 
tine in slow motion until the correspond- 
ing RTS is encountered. This means 
that all nested subroutines will be exe- 
cuted and normally the program will dis- 
play the RTS command when it returns 
to single-step mode. Since this com- 
mand triggers off the emulated stack 
level, the program could also drop 
back into single-step mode if two val- 
ues are pulled from the stack or the 
stack pointer is incremented by 2 be- 
fore an RTS is encountered. This is use- 
ful in allowing you to see if the routine 
pulls its return address off the stack so 
it can jump somewhere else. It's safe 
to enter J-mode anytime after a JSR. If 
it's used outside of a subroutine, it may 
never drop back into single-step 
mode on its own, but you can exit at an- 
ytime with the @ (At) key. 


Pp 

P sets the emulated PC to a new aa- 
dress; the beginning of a program; or 
the end of a loop, subroutine, or wher- 
ever. The new address is entered in 
the PC space on the status line. After 
the address has been entered, the val- 
ue will reverse to show that you have to 
make a decision. You must either 
press Return or f3. Return resets the em- 
ulated stack pointer to the top of the 
stack, $FF. This is useful when restart- 
ing the monitored program so that 
stack doesn't wrap around. Pressing f3 
will not change the current stack point- 
er. This is useful for going to the begin- 
ning of a loop: or jumping over some 
code where you may need the values 
that are on the program's stack. Noth- 
ing changes but the location of where 
the monitor reads the next command. 


D 

Dump has the same usage as Hunt ex- 
cept that all occurrences of the desired 
address usage (PC) are sent to the 
printer. This will not stop until the @ (At) 
key is pressed to cancel the mode. 


K 
This key toggles Kernal mode, the de- 
sired execution mode of calls to Kernal 


subroutines listed in the Kernal jump ta- 
ble ($FF81-$FFF3). The default mode 
is step-by-step emulation (in single- 
step or slow mode). The special mode 
is full-speed execution, which is desig- 
nated by an asterisk to the left of PC 
on the status line. 

This mode is useful for speeding up 
programs with heavy Kernal usage 
where you are only concerned with the 
routine’s net effect on the program. It al- 
so allows serial bus I/O routines such 
as disk access even in single-step 
mode. Most Kernal routines that use 
the serial bus cannot be successfully 
single stepped. Note that if the Kernal 
LOAD is used, the monitor program 
could be corrupted because the self- 
protection feature is temporarily disa- 
bled. 

If the Kernal mode is off, single- 
step mode will still let you choose how 
to execute each Kernal call. When you 
get to a Kernal call, the address of the 
routine will reverse. Return will execute 
the routine in full speed, and f3 will 
take it out of reverse mode and allow 
you to continue to single step through 
the routine. 

If you press Return, the routine will ex- 
ecute, and the next command shown 
will be the RTS of the routine. Also, the 
PC will show the address of the routine 
itself and will be reversed to show that 
you just executed that Kernal routine. 
The RTS shows where the program is 
returning to. If Kernal mode is on, then 
all Kernal routines will be executed in 
full speed with results as mentioned 
above. 


F 

Fill lets you change the contents of any 
memory location. Note that the monitor 
will not protect itself, so use caution 
when altering any monitor parameters 
given in the article. 


M 

Memory will let you examine the con- 
tents of a memory location. For areas 
that have layers of memory such as 
$D000 (character ROM and |/O device 
RAM), the memory configuration used 
by the monitored program determines 
where the value comes from. To view a 
different area, alter the offset value, 
START + $0055, with the Fill com- 
mand. START is equal to the address 


you loaded the monitor to at the begin- 
ning of the session. If you do this, you 
must change it back before you contin- 
ue, or the monitored program may 
crash. 


A, X, or Y 

Enter a new value into a CPU register. 
After a value is entered, it will reverse 
to show that you have to make a deci- 
sion. Return will modify the emulated 
status register like an LDA command, 
while f3 will leave the flags unchanged. 
These features may be useful for alter- 
ing loop indexes or putting a keycode 
into A to be checked when letting the 
Program go to the routine that handles 
the key. 


Ww 

W redisplays the status line in the cur- 
rent screen configuration. This is use- 
ful in single-step mode when stepping 
through code that alters VIC parame- 
ters and the screen changes so you 
can't see the status line anymore. Press- 
ing W will recover it without stepping. 


Cc 

C cycles the color of the status line 
text for text mode and hi-res mode stat- 
us line displays independently. All 16 
colors are available. A separate color 
can be locked in for each mode and 
will stay the same even if you toggle be- 
tween monitor and full-speed modes. 
You won't have to change it after switch- 
ing modes. 

In hi-res mode, the foreground and 
background colors are changed. 
Since the background color changes 
only after all 16 foreground colors 
have changed, it may take a while to 
get the desired color combination. If 
you know the color codes that you 
want for the foreground and back- 
ground, you can put the proper value 
into START + $052D. (See F key 
above.) The value should be in the fol- 
lowing format: High nybble equals back- 
ground; low nybble equals foreground. 
See any 64 reference book for more de- 
tails. To actually implement the color af- 
ter changing the memory value, hit f1 
twice. 


Vv 
V toggles multicolor mode. This key 
will have effects in both text and hi-res 


modes. You may find it useful to turn 
off multicolor mode to read the status 
line clearly and then turn it back on. 


G 

G toggles hi-res display between text 
mode and hi-res mode. This is for see- 
ing the status line should the display 
mode change while single stepping 
(like W key). Note that the proper 
mode will be selected automatically 
when changing between single-step, 
slow, and full-speed modes. 


Del 

The Delete key has two functions. It re- 
prints the current status line with the 
command after using M or F keys, and 
cancels data-entry modes of any keys 
requiring hex input, such as H or P. 


The @ (At) key cancels any slow-mo- 
tion mode (from S, J, R, H, or D) back 
to single-step mode. 


Operational Notes 

Not only are the regular 56 commands 
of the 6502 interpreted, but also the 14 
quasi-opcodes as defined by Raeto Col- 
lin West in “Programming the 64” by 
COMPUTE books. Most of these op- 
codes have reproducible results, al- 
though many don't seem to lend them- 
selves to most programming tasks. 

The new mnemonics that you may en- 
counter while experimenting are ASO, 
RLA, LSE, RRA, AXS, LAX, DCM, INS, 
ALR, ARR, OAL, SAX, SKB, and SKW. 
While there isn’t enough space to dis- 
cuss quasi-ops at length, most of 
them essentially decode in a way that 
is similar to the LDA-type commands. 
SKB branches over (skips) one’ byte, 
and SKW skips two. 

These codes are included here 
when most other monitors ignore them 
because some software may use them 
to hide codes. 

Another debugging feature is that Ul- 
timate stops automatically at a BRK or 
any invalid commands. BRK com- 
mands can be continued normally, but 
invalid opcodes will display three 
back arrows (#-*) and the hex value 
of the invalid opcode that has been en- 
countered. At this point, reset the PC 
to a new piece of code to continue. 

Ultimate executes quasi-ops like it ex- 


JULY 1993 COMPUTE G-27 


PROGRAMS 


ecutes all other commands. They are ex- 
ecuted by the 6502 after any address- 
es are decoded. 

The program works by emulating ma- 
jor features of the 6502 and 64. The re- 
al stack and CPU registers are copied 
to a protected area of memory within 
the monitor, and all memory activity is 
monitored in protected mode so that 
the monitored program behaves as if it 
were running in real mode. Also, win- 
dow space is maintained and protect- 
ed for the text screen line, color mem- 
ory line, and one hi-res line so that the 
status line may be displayed while any 
program access to the real memory ar- 
ea is sent to the window. All of this win- 
dowing is generally transparent to the 
user and the monitored program. 

For example, an access to the first lo- 
cation of the status line LDA $07CO, in 
default area, is shown as such, al- 
though the real load comes from the 
screen window maintained by the mon- 
itor. If a command tries to access the 
monitor's protected memory, the com- 
mand will not be executed. In single- 
step mode the operand field will be re- 
versed to alert you of this condition. 


Advanced Uses 

The Ultimon.O program is a stand- 
alone program. It contains the routine 
that actually performs the absolute ad- 
dress conversions necessary to relo- 
cate the program to the new address. 
This makes it very useful to load and 
run after another program has already 
been loaded. 

During the first call, Ultimon.O mod- 
ifies itself so that later calls to the start 
address enter the monitor mode. This 
feature may be useful when a program 
that you wish to monitor is so large 
that it would overwrite Ultimate. Usual- 
ly programs using some hi-res graph- 
ics are like this. The solution would be 
to load the monitor over a 4K section of 
a bitmap that may not be needed 
while you are trying to figure out some 
portion of the program. The loading 
could be performed by replacing a 
small piece of code with a JSR to the 
following routine (WEDGE). Then, the 
wedge routine would have to be piggy- 
backed onto another piece of the mon- 
itored program. 


= $FFBA 
COMPUTE JULY 1993 


SETLFS 
G-28 


SETNAM = $FFBD 
LOAD = $FFD5 
DEVICE =$BA 
WEDGE LDA #1 

LDX #<NAME+1 ;lo byte 

LDY #>NAME+1 ;hi bytel JSR SET- 
NAM 

NAME LDA #69 ;decimal 
LDX DEVICE 

LDY #0 ;relocate 
JSR SETLFS 


LDA #0 ;load 

TAX 

LDY #>BEGINI JSR LOAD 
JMP BEGIN 


This loader will load, relocate, and kick 
start into single-step mode any ML pro- 
gram as long as Ultimon.O is saved as 
filename E, BEGIN = safe area 
(bitmap). Just find free memory for 
WEDGE and insert JSR WEDGE into 
code. Another technique is to load Ul- 
timate ML Monitor with a standard mon- 
itor that can perform a relocatable 
load to any address. Then run Ultimate 
so that it initializes itself to the new ad- 
dress. The initialization routine ends 
with an RTS. Now Ultimate is ready to 
use or can be resaved from the new ad- 
dress with a length of 4K. To call it, 
just use JSR or SYS to go to the new ad- 
dress. 


ULTIMON.B 


HG 5 REM COPYRIGHT 1993 - COMP 
UTE PUBLICATIONS - ALL RI 
GHTS RESERVED 

MP 10 IFATHENSYS52243 

KD 26 D=PEEK(186) :A=-1:LOAD"UL 
TIMON.L",D,1 


ULTIMON.L 

CC13:a9 93 
CC1B:21 D@ 
€C23:26 Dg 
CC2B:62 38 
€C33:18 20 
CC3B:3E CD 
CC43:A2 0G 
CC4B:E8 EC 
cc53:CC 26 
CCSB:F5 26 
CC63:C6 A2 
CC6B:EF A2 
CC73:EF CA 
CC7B:CD A9 
CC83:38 AS 
CC8B:26 FG 


26 
8D 
Ag 
Ag 
FG 
cD 
BD 
3E 
D2 
EF 
04 
61 
16 
ol 
14 
FF 


D2 
3E 
@D 
13 
FF 
3B 
FA 
cD 
FF 
cc 
Ag 
BD 
iwi 
8D 
ED 
38 


EE 
cD 
8D 
ED 
38 
cD 
cc 
98 
c8 
EE 
13 
20 
Ag 
86 
3E 
ag 


ag 
Ag 
86 
3E 
Ag 
96 
26 
F4 
co 
3E 
18 
cD 
6G 
G2 
cD 
GE 


oo 
G6 
G2 
cD 
26 
22 
D2 
B9 
26 
cD 
26 
26 
8D 
A2 
Ag 
ED 


CB 
BD 
34 
E6 
Al 
A2 
22 
FF 
DB 
oF 
BD 
B4 
E7 
E6 
97 
94 


CC93:CD 
CC9B:AG 
CCA3:A8 
CCAB: 26 
CCB3:F4 
CCBB:C@ 
CCC3:14 
CCCB:FF 
CCD3: 26 
CCDB:F4 
CCE3:C@ 
CCEB: 3E 
CCF3:C8 
CCFB:54 
CD63:4D 
CDG6B:48 
CD13:47 
CD1B:4E 
CD23: 2E 
CD2B: 43 
CD33: 2E 
CD3B:45 
CD43:60 
CD4B:79 
CD53:A9 
CD5B:49 
CD63:44 
CD6B: 4F 
CD73:4F 
CND7B:45 
CD83:47 
CD8B: 42 
CD93:4F 
CD9B:55 
CDA3: 26 
CDAB: 9F 
CDB3:53 
CDBB: 46 
CDC3:45 
CDCB: 4P 
CDD3:55 
CDDB: 49 
CDE3:57 
CDEB: 41 
CDF3:90 
CDFB:CC 
CEG3:A9 
CEGB:3F 
CE13:A6 
CE1B:26 
CE23:8E 
CE2B:CD 
CE33:A9 
CE3B:06 
CE43:61 
CE4B:53 
CE53:AB 
CE5B:CF 
CE63:CF 
CE6B: 20 
CE73:CF 
CE7B:A2 
CE83:C9 
CE8B:4C 
CE93:FF 
CE9B:A9 
CEA3:86 
CEAS:AB 
CEB3:45 
CEBB:FB 


3E 
26 
G2 
FF 
22 
96 
3E 
62 
FF 
36 
96 
Da 
FD 
45 
54 
4E 
41 
54 
4a 
49 
4A 
28 
7A 
26 
4c 
4F 
52 
26 
20 
4F 
41 
20 
45 
42 
52 
49 
45 
4c 
20 
26 
41 
4c 
49 
45 
AS 
26 
AG 
A4 
FO 
AB 
93 
77 
85 
i) 
DG 
ag 
3F 
53 
OF 
FF 
co 
20 
FO 
CE 
) 
99 
i) 
92 
C6 
CF 


69 
cD 
cD 
96 
c8 
Ag 
FO 
cD 
90 
c8 
EE 
oo 
26 
49 
43 
4E 
4PF 
45 
4c 
54 
45 
Ag 
20 
BC 
54 
41 
46 
54 
4D 
4F 
26 
54 
4E 
46 
CT) 
26 
26 
45 
52 
4D 
57 
52 
4F 
26 
29 
cD 
26 
GE 
cD 
0@ 
53 
AB 
AG 
6B 
26 
1E 
32 
32 
oO 
1E 
G2 
FF 
G2 
CF 
FS 
8D 
1E 
A2 
85 
45 


@ 73 


Cc AS 64 FC 
G3 
FB 


GG 


CFEB:FB 46 


CFFB:48 6C 


ULTIMON.O 


8600:EA EA 


18 


8628:8D 18 
863G:A9 81 
8638:06 G1 


93 
8D 


82 
86 


86D8:3D C9 
8GD8:49 81 


G4 
8D 


13 
85 


28 C3 
co 36 
53 cD 
AB 26 
53 FG 
G2 AG 
G3 88 
A@ CD 
33 CF 
@G AC 
26 44 
AE 32 
AD 34 
BD FF 
E9 FE 
AQ 88 
09 83 
G8. 63 
1E CF 
2D 84 
G1 FG 
7B AG 
85 14 
66 AG 
28 73 
97 D& 
48 E6 
EB B7 
15 E9 
E9 FE 
AQ 88 
69 63 
68 85 
A7 Ag 
8D 69 
AD 26 
AS 65 
6C FB 
48 AQ 
G3 OG 


48 26 
85 63 
48 60 
49 8D 
83 AQ 
8D 19 
A2 6G 
E8 DG 
AQ 7B 
20 13 
@6 85 
8C G3 
83 8c 
DG 82 
83 BC 
86 8G 
206 FF 
FO 33 
cD DC 
66 DC 
11 A9 
FG 65 
53 80 
AE FF 
26 85 
co 63 
AD 86 
FO EG 


89EG:92 
8GE8:C9 
8GFG:AE 
8GF8:18 
8196:82 
8198:85 
8119:86 
8118:D9 
8126:C9 
8128:84 
8139:82 
8138:D2 
8146:48 
8148:82 
815G:1F 
8158:8D 
8166:D0 
8168:01 
8176:99 
8178:C5 
8180:86 
8188:86 
819G:A9 
8198:21 
81AG:4C 
81A8:D9 
81BG:3D 
81B8:61 
81C6:43 
81C8:A2 
81D0:48 
81D8:83 
81EG:68 
81E8:68 
81FG:A2 
81F8:4C 
8296:20 
8268:D0 
8219:D9 
8218:81 
8226:Dd 
8228:4C 
8236:84 
8238:C8 
8246:89 
8248:03 
8256:8A 
8258:29 
8260:A9 
8268:AG 
8276:20 
8278:84 
8289: 26 
8288:E7 
8299:86 
8298:BD 
82AG:F7 
82A8:03 
82BG:63 
82B8:AD 
82CG:40 
82C8:80 
82D6:B9 


8309:69 
8398282 


8316:D8 
8318:8D 
8326:AD 
8328:47 
8339:8D 
8338:8D 
8346:8D 
8348:29 
8350:85 
8358:8C 
8360:61 
8368:FG 
8376:D1l 
8378:D2 
8386:44 
8388:20 
839G:E8 
8398:64 
83AG:4C 
83A8:83 
83BG:87 
83B8:BA 
83CG:21 
83C8:C8 
83DG:B9 
83D8:84 
83E9:69 
83E8:EE 
83FG:63 
83F8:90 
8400:A9 
8408:GE 
8416:EF 
8418:87 
8420:62 
8428:B9 
8430:A9 
8438:05 
8446:2G 
8448:A9 
8456:20 
8458:A2 
846G:A9 
8468:0B 
8470:D7 
8478:AD 
8483:84 
8488:A2 
8490: 28 
8498:84 
84AG:84 
84A8:D1 
84B0:81 
84B8:AD 
84CG:4A 
84C8:6F 
84D6:83 
84D8:69 
84EG:93 
84E8:60 
84F9:8D 
84F8:8D 
850G:F9 
8508:29 
8516:29 
8518:1E 
8520:E8 
8528:8C 
8538:85 
8538:8D 


AD 
82 
48 
46 
8E 
49 
ag 
co 
4A 
Bo 
8G 
A8 
1D 
15 
BE 
ag 
6a 
83 
26 
8A 
83 
i) 
D8 
De 
BE 
F4 
8B 
DD 
82 
AB 
08 
83 
63 
E@ 
A2 
A8 
F9 
26 
A2 
6c 
AG 
12)>) 
4B 
32 
07 
26 
26 
96 
26 
4c 
82 
BE 
bg 
4c 
29 
18 
96 
58 
FF 
8D 
ag 
AD 
6c 
E9 
GA 
8c 
8c 
86 
8D 
26 


JULY 1993 COMPUTE G-29 


PROGRAMS 


8546:85 8D El 8C 8D E3 8C 8D 19) 8770:D7 82 48 8D 55 88 4A 4A 99 )89AG:AC D7 82 CB 6C DB 1D BC CO 
8548:95 85 8D 54 85 8D B7 86 CE| 8778:29 07 8D 95 87 AB BO 2E 69 |89A8:49 84 AG 4C BC D7 82 EB BC 
8550:AS 27 B9 CG G7 99 4A SE 7A| 8780:8D 8D F9 82 68 29 E3 G9 D9 |89BG:8E BO 89 BD BA 89 AD Bl Cl 
8558:B9 CO DB 99 72 8E 88 10 74| 8788:0C 8D D7 82 AG G1 26 DG 3E |89B8:AD FF FF 99 Dl 82 CE B9 2C 
8560:F1 A9 GG AB 27 99 CG nB D5| 879G:82 8D 3F 84 AD BG 6G AD 3G |89CG:89 88 16 F4 26 G6 83 AD DS 
8568:88 18 FA 6G AD 18 DG 29 B9| 8798:95 87 C9 G3 FG 14 4A BG DA |89C8:80 8D 61 84 AG 1C 20 84 2B 
8570:FG 4A 4A G9 G3 8D 83 85 3B| 87AG:G6 26 B3 87 4C AA 87 26 ES |89D0:86 9G 11 C8 CB 20 84 86 5G 
8578:AD @@ DD 6A 6A 6A 29 CG CC| 87A8:BA 87 AD D9 82 69 BB 8D 91 |89D8:BG BA 26 55 83 DO G6 26 AB 
8580:49 CO 69 6G 6G AI GG DO FB| 87BG:D9 82 60 AD 48 8D AG G7 F4 |89RG:Cl 82 FG G9 6G 2C 67 83 2A 
8588:16 AD E8 8C FG BC AG 27 BD] 87B8:DG G5 AD 47 8D AG GF 18 CG |89E8:10 G3 EE A7 80 AY BB DG 98 
8590:B9 9F 8A 99 CO G7 88 19 8E| 87CG:6D DB 82 8D DB 82 8C 3B GB |89FG:1A AD 8C 8G BD 86 85 DG 74 
8598:F7 60 8A 48 AD E8 8C 8D 45] 87C8:8D 68 C8 8C Dl 87 AG Gl 87 |89FS8:EB AS 86 8D BB 83 26 CE 5G 
85AG:D9 85 AD E9 8C 8D DA 85 24/ 87DG:B5 GG.99 DB 82 CA 88 10 DB |8AGG:83 AY BG BD BB 83 20 48 8E 
85A8:78 AD 18 D@ 4A 29 G1 G9 6D| 87D8:F7 60 28 6F 87 C9 G2 DO 2F |8AG8:83 DB D9 AD BC 8G BD 86 3d 
85B0:1A 8D BD 85 A5 @1 29 FB BB| 87E@:1C AG G1 8C 61 84 88 20 SD |8A10:85 DG G3 20 92 86 20 20 BD 
85B8:85 G1 AG G@ AY BG BD D7 1B| 87E8:DG 82 AD EA 8D DO 82 G8 C5 |8A18:83 26 D7 82 20 2F 83 AD 8C 
85C0:85 B9 9F 8A GA 2E D7 85 D7| 87FG:20 26 83 20 D7 82 26 2F C2 |8A20:8C 8G BD 86 85 DO G3 20 3B 
85C8:GA 2E D7 85 BA 8D D6 85 71/ g7F8:83 28 4C F4 82 6A 6A 96 CF |8A28:E9 84 AI 7E 8D EG 83 AD 11 
85D0:2E D7 85 A2 67 BD FF FF F2| gggg:1p AG G2 26 DG 82 8D 3A EF |8A3G:86 8D 96 83 26 13 83 AC F4 
85D8:9D FF FF CA 16 F7 AD D9 F4|/ gg98:84 20 97 87 AO 8G 8D 61 9A |8A38:B2 82 AE EG 83 EG 7E FO BB 
85E0:85 69 68 8D DI 85 96 G3 EB! 8816:84 AD 8C 89 DO G3 4C FA 8E |8A40G:07 C8 BOY 4A 8D 8D 49 8D AD 
85E8:EE DA 85 C8 C@ 28 DG CC 74] §818:85 AG #2 4C FC 85 2A 90 FB |8A48:C8 B9 4A BD 8D D1 82 CB D3 
85F9:A5 G1 G9 G4 85 G1 58 68 BO! gg2g:6n 4a 4A JO E7 20°BA 87 D7 |8A50:B9 4A 8D 8D D2 82 8C B2 CB 
85F8:AA 60 AG FF 8C 63 86 EE Fl/ gg28:4Cc GC 88 AC D8 82 4A 4A ED |8A58:82 EG 7E DO G8 EE Dl 82 ES 
8606:93 86 AJ GD GA GA AB 20 4F | 993g:9¢ GB A2 GB 20 CA 87 28 FB |8A69:DG G3 EE D2 82 20 G6 83 CD 
8608:84 86 BS GA AD 63 86 C9 FF/ gg38:al 87 4C GC 88 AE 47 8D 61 |8A68:A9 G2 8D 61 84 68 AC B2 4C 
8614:06 96 EC 4C EF 87 C8 C8 9E| gg4g:20 CA 87 36 C7 20 6F 87 2D |8A70:82 26 13 83 26 EC 82 99 BC 
8618:26 84 86 BG EF AD G3 86 F4/ gg4qg:Fg 8A78:4A 8D 88 AD Dl 82 99 4A 18 
8620:C9 G4 FG 3A BO 48 GA AB 18) gags 8A80:8D 88 AD 49 8D 69 14 99 1B 
8628:0A AA 38 AD D8 82 48 FD 26| gg5 8A88:4A 8D 88 8C B2 82 AD FE F9 
8630:E0 8C 8D D8 82 AD DI 82 11 886 8A9G:FF 8D Dl 82 AD FF FF 8D 66 
8638:48 FD El 8C 8D D9 82 18 DE| gg6g:ar DG 96 AD G6 BD 95 87 BC |8A9B:D2 82 24 Cl 82 FG C6 2G 5D 
8640:AD D8 82 79 GB 8D 8D DB 6C| gg7g:pg BF 4A 94 97 AD D7 82 C5 |8AAG:1G G3 3D 20 26 24 2G 20 GA 
8648:82 AD D9 82 79 G1 8D 8D DD| gg7g:29 DE C9 BE DG AT 20 B3 11 | 8AA8:26 24 20 26 26 20 26 20 BD 
8659:D9 82 20 EF 87 68 8D D9 CO| gggg:a7 4c gc 88 AD D7 82 8D D1 |8ABG:20 20 20 G1 3D 20 20 20 BC 
8658:82 68 8D D8 82 60 AD 86 69| gggg:55 88 co 78 DG O7 AY 7F 9C |8ABB:18 3D 20 20 26 19 3D 20 2F 
8660:8D BB 83 4C F4 82 20 26 76) ggqg:ag og 20 74 86 C9 58 DG 1A | 8ACG:2G 26 13 12 3D 2G 26 48 64 
8668:86 AD 49 8D 29 64 DG 13 34) gg9g:¢3 24 74 86 AO G1 BD F9 16 | 8AC8:55 4E 54 49 4E 47 26 46 51 
8670:A9 66 AG GB 8D BD DC BC 4D) ggag:g2 DG AE AD D7 82 8D F7 B3 |8AD0:4F 52 20 24 FF 3A GD FF 6B 
8678:1A D@ AD 19 DG 8D 19 DB CD! ggng:g8 AG G1 20 DG 82 30 15 4E |8AD8:28 26 26 2C 18 29 28 20 AG 
868G:AD @D DC 68 38 AD D8 82 FS| ggng:18 24 13 83 6D D8 82 8D Dl |8AEG:20 29 2C 19 28 26 26 26 49 
8688:F9 EG 8C AD D9 82 F9 El E5| ggng:pg 82 AD D2 82 69 GG 8D Gl |8AE8:26 26 2C 18 26 1E 66 AB OF 
8696:8C 60 AD E8 8C DG 19 AD C3! ggcg:p9 82 4c DF 88 49 FF 18 68 |8AFG:Bl AE 66 G6 Bl 6C 66 G6 C9 
8698:9A 8D DG 86 AI BE 8D D1 4D! ggcg:69 G1 8D DB 82 38 20 13 56 | 8AFS8:Bl AS 66 66 Bl 1B 66 AB BO 
86AG:86 AD EB 8C BD D3 86 AD B8| ggpg:83 ED D8 82 8D DB 82 AD £4 | 8BGG:Bl AE 66 G6 Bl 27 66 63 23 
86A8:E9 8C 8D D4 86 20 C2 86 8D| ggng:p2 82 E9 GB BD DO 82 18 22 | 8BG8:Bl AS 66 G6 Bl 54 83 AB DF 
86BG:AG 27 B9 4A 8E 99 CO G7 17 8B10:B4 12 63 75 B4 72 G3 75 AB 
86B8:B9 72 8E 99 C@ DB 88 10 41 8B18:B4 12 63 75 B4 15 O3 AB 71 
86CG:F1l 68 AG GG 20 CF 86 EE 2F 8B20:B4 AE 03 75 B4 84 63 63 16 
86C8:D1 86 EE D4 86 AB 3F BY 7A| ggrg:03 4c EC 82 AD DB 82 8D C7 | 8B28:B4 AB G3 75 B4 7B 45 AB 45 
86NG:FF FF 99 FF FF 88 D@ F7 CC! g9gg:p1 82 AD D9 82 8D D2 82 62 | 8B3G:B7 AE 45 60 B7 69 45 66 CB 
86D8:66 26 88 84 A2 G9 26 F7 E8| g998:66 20 EF 82 AC B2 82 AD SC | 8B38:C9 51 45 60 B7 21 45 AB AF 
86EG:86 8D DD 82 20 F7 86 8D F3| g91g:49 8D AE EG 83 EG 6F BG 3E | 8B40:B7 AE 45 60 B7 2D 45 63 ED 
86E8:DC 82 60 26 EF 86 60 8E FB| 9918:GE EG 6C FO G3 AD 46 8D EF | 8B48:B7 A8 45 66 B7 7E GO AB 77 
86FG:F6 86 20 96 84 A2 GB 24 57| g929:99 4A 8D CE B2 82 60 DO 62 | 8B5G:BA AE GG 78 BA 6F GG 78 G4 
86F8:07 87 GA GA GA GBA 8D G5 ES| gq28:Gm C8 48 28 B9 4A 8D G8 1A | gB58:CC 51 GG 78 BA 24 GG AB C3 
8700:87 26 G7 87 G9 BG 68 AD E6| g939:8p 46 8D 68 4C 3B 89 CB FE | 8B6G:BA AE GG 78 BA 8A GG 63 6B 
8768:2A 20° 21 87 CA 20 36 87 9B/ g938:89 4A 8D 8D 49 8D 8C B2 91 | 8B68:BA AS GO 78 BA AE 8D AE E8 
8716:F9 1B AG GE D9 BE BD FG 76| g949:82 6G AD EG 83 C9 9C FG DD | 8B70:BD 93 8D 90 BD 42 AB 9F F3 
8718:05 88 10 F8 36 EF BO 1E 30/ g949:99 AD 47 8D 8D B2 82 4C 95 | 8B78:AB 93 8D 90 BD G9 8D AB DD 
8720:8D 9D 9F 8A 98 48 26 85 A5| go5g:EF 82 AD 49 8D 48 28 AE D2 | 8B8G:AB 93 8D 98 D8 AS 8D A2 28 
8728:85 68 A8 E8 64 68 68 68 95/ g95g:—2 82 G8 BE 47 8D 68 8D 1E | 8B88:AB AB 8D AB AB 5D 57 5A A8 
8736:68 68 68 4C C2 8G 78 8A F2| g9¢9:49 8D 4C EF 82 AD EG 83 14 | 8B9G:C@ 5D 57 5A CB 99 57 96 Al 
8738:48 A5 C6 48 A@ GA A2 FF A4! g9¢68:c9 54 DG 1B AC B2 82 88 FE | 8898:CF 5D 57 5A CO GC 57 AB 1G 
8740:CA DO FD 88 DG F8 AD FF EE| g97g:18 AD D1 82 69 G2 99 4A 2E | BBAG:CG 5D 57 5A CB 3G 57 9C 12 
8748:8D G2 DC A9 BG BD G3 DC ED! g97g:8p cg AD D2 82 69 GG 99 BA | 8BA8:AB 5D 57 5A D5 39 33 AE 26 
8750:26 9F FF A5 CS C9 48 DG 58) gogg:4a gp 88 88 8C B2 82 20 GA | BBBG:C3 39 33 3C C3 4E 33 3F 1F 
8758:65 8D 6C 87 FG DE CD 6C 5E) g9gg:13 83 AG G1 20 DG 82 AA 1E | gBBg:D2 39 33 3C C3 18 33 AB 42 
8760:87 F@ D9 8D 6C 87 68 85 5B) g99g:cg 20 DG 82 8E D1 82 8E Al | gBcd:C3 AE 33 3C C3 2A 33 63 2G 
8768:C6 68 AA A9 4G 58 60 AD B6| g999:3F 84 8D D2 82 8D 3A 84 8E | gBCa:C3 AB 33 3C C3 36 81 AE BE 


G-30 COMPUTE JULY 1993 


8BDG:C6 
8BD8:AB 
8BEG:C6 
8BE8:C6 


36 
36 
AE 
Ag 


81 
81 
81 
81 


48 
48 
48 
48 


4B 
OF 
87 
99 


81 
81 
8i 
06 


63 
AB 
63 
80 


8C16:06 
8C18:08 
8C20:1B 
8C28:02 


15 
@8 
66 
21 


A6 
1B 
Ch) 
46 


6 
12 
1c 
62 


G6 
1B 
62 
76 


08 
2c 
1c 
98 


1B 
68 
32 
21 


8C38:4B 
8C40:04 
8C48:36 


54 
G2 


E4 
61 


a4 
32 


62 
64 


06 
E4 


61 
62 


8C76:06 
8C78:52 
8C86:9D 
8C88:08 
8090: 26 
8C9B8: FF 
8CAG: GG 
8CA8:83 
8CBG: 20 
8CB8: 00 
8CCO:71 
8CC8:DA 
8CDO:84 
8CD8:6E 
8CEG:CG 
8CE8: G0 
8CFG:00 
8CF8:1A 
8D0G:4A 
8D68: 60 
8D16:3B 
8D18:6A 
8D26:32 
8D28:01 
8D36:62 
8D38:6C 
8D40:16 
8D48:FD 
8D50:A5 
8D58:48 
8D60:26 
8D68:A5 
8D76:63 
8D78:17 
8D86:8A 
8D88:6A 
8D9G:8A 
8D98:24 
8DAG:2E 
8DA8: 27 
8DBG:E5 
8DB8:85 
8DCG:C9 
8DC8:A9 
8DDG:A9 
8DD8:AA 
8DEG:28 
8DE8:E0 
8DFG:DG 
8DF8:90 


99 
08 
32 
A4 
gc 
FE 
93 
Ci) 
DB 
6c 
Ut) 
87 
88 
8A 
O7 
Oo 
80 
DG 
8E 
o@ 
68 
1c 
33 
G2 
G3 
6c 
1B 
48 
23 
AS 
48 
28 
86 
8D 
8D 
85 
69 
18 
85 
38 
FE 
28 
G4 
63 
G1 
AS 
A8 
62 
14 
3c 


46 
9D 
62 
FO 
A6 
14 
93 
GE 
UT) 
AS 
66 
45 
69 
E9 
E8 
46 
DA 
1B 
72 
7 
6B 
14 
34 
G3 
G2 
6 
26 
AS 
48 
24 
AS 
48 
FE 
18 
19 
FC 
GA 
8A 
26 
AS 
98 
A8 
96 
De 
2c 
28 
Bl 
FO 
AG 
cg 


68 
G2 
AG 
6c 
42 
9A 
6G 
27 
4B 
0o 
71 
88 
89 
82 
07 
96 
8F 
De 
8E 
86 
16 
12 
35 
@4 
G2 
OF 
26 
FC 
A5 
48 
G2 
i) 
ag 
G3 
63 
ag 
85 
69 
18 
FB 
SF 
Bl 
14 
26 
ag 
29 
26 
E4 
G2 
96 


48 
9D 
08 
62 
9A 
16 
cB 
66 
oo 
59 
GE 
89 
89 
82 
DB 
G1 
bc 
FE 
8E 
86 
18 
15 
37 
06 
63 
GE 
FE 
AS 
48 
27 
AS 
85 
85 
16 
16 
85 
AQ 
85 
69 
FD 
oo 
A8 
@5 
07 
AA 
4a 
62 
G4 
FD 
G8 


68 
36 
AG 
68 
EF 
gc 
Cs) 
71 
OB 
vi) 
27 
A3 
34 
EC 
E8 
CI) 
GE 
FA 
4a 
23 
1B 
36 
38 
G2 
C4) 
64 
48 
FB 
AS 
48 
G4 
FD 
FB 
63 
63 
22 
EF 
25 
@D 
AS 
Bl 
Bl 
BG 
96 
DG 
4A 
DG 
cg 
co 
38 


99 
62 
72 
A6 
12 
DF 
94 
ao 
25 
98 
@2 
88 
8A 
82 
DB 
G2 
Dc 
EF 
8D 
38 
26 
31 
39 
G2 
6c 
66 
AS 
48 
25 
A5 
48 
A6 
Ag 
18 
69 
18 
85 
AQ 
85 
FC 
FD 
24 
G4 
63 
14 
85 
@4 
63 
8G 
E9 


8E38:03 
8E46:B9 
8E48:F7 
8E50:85 
8E58:68 
8E60:22 
8E68:85 
8E70:68 
8E78:48 
8E80:63 
8E88:EA 
8E96:05 
8E98:G6D 
8EAG: 6D 
8EA8:6C 
8EBG:GC 
8EB8:6C 


G3 
85 
Ag 
GE 
Bl 
65 
38 
CA 
99 
28 
85 
68 
23 
85 
66 
BA 
Gl 
2c 
Fl 
65 
cg 
Dl 
Dg 
42 


91 
FD 
8B 
85 
FD 
3 
E9 
16 
6G 
68 
26 
85 
68 
FD 
EA 
FE 
68 
0B 
gc 
@D 
oc 
gc 
oc 
GE 


18 
9A 
FD 
A2 
FB 
FC 
18 
AG 
88 
64 
85 
68 
FB 
85 
EA 
@1 
68 
G2 
gc 
@D 
gc 
6c 
6c 
GE 


AS 
E6 
18 
19 
c8 
AG 
65 
16 
16 
68 
27 
85 
68 
FE 
68 
DS 
EA 
37 
61 
OB 
cD 
DS 
DD 
Cr) 


9A 
A4 
cc 
5D 
FB 
BE 
A3 
CA 
ES 
78 
1B 
2D 
45 
88 
6A 
EB 
39 
DB 
co 
98 
3B 
FB 
AE 
1B 


Ed Balchick is an electrical engineer 
from Pittsburgh, Pennsylvania, who en- 
joys programming in machine lan- 
guage and in C. Ted Green is an un- 
employed painter from Cleveland, 
Ohio, who also enjoys programming. 
They both enjoy modifying other peo- 
ple's games so they (Ed and Ted) can 
win them. 


RASCALS 


By Bob Broderick 

Just before dozing off during another bor- 
ing haul of galactic space animals in 
your freighter, you notice a red light on 
the control panel. Uh-oh! That warning 
light means there's been a power failure 
in the cargo hold, and all of the animals 
have escaped from their electric holding 
cells. They are a wild and dangerous 
bunch, but you've got to get them cor- 
ralled. Without a moment's hesitation, you 
suit up and set out to recapture those in- 
tergalactic rascals! 

Rascals combines arcade action with 
strategy in a fast-paced game for the 64 
that is written entirely in machine lan- 
guage. To enter it, you'll have to use 
MLX, our machine language entry pro- 
gram. See “Typing Aids” elsewhere in 
this section. When MLX prompts for start- 
ing and ending addresses, respond 
with the following. 


Starting address: 0801 
Ending address: 10B8 


Be sure to save a copy of the program 
before you exit MLX. Although Rascals 
is written in machine language, it 
loads and runs like a BASIC program. 


Playing the Game 

As the brave freighter captain, you con- 
trol the figure in the lower right-hand cor- 
ner of the screen. Use keys |, J, L, and 
K to move it up, left, right, and down, 
respectively. The object is to trap all 
the moving creatures on the screen. To 
do this, you must push crates that are 
scattered around the screen to form a 
corral, surrounding a rascal. The rascal 
mustn't be able to move in any direc- 
tion, including diagonally, or it will es- 
cape. You can move as many crates at 
one time as you like. 

Warning! This is a serious game. 
You have one life and can lose it by 
coming in contact with a rascal. If all 
the rascals have been boxed in, you've 
won the game. After each game, type 
Y to play again or N to end. 


A Few Questions 

However, before you can begin play, 
you must answer the questions on the 
opening screen. The first question will 
ask you how many rascals you want 
loose in the hold. Enter a number from 
1 to 7. Remember, the fewer rascals 
there are, the faster they'll go! 

The next question regards the num- 
ber of crates available to you. A high- 
er number will give you more boxes, 
making the game easier. A setting of 1 
will give you the least amount of 
crates. 

The third question regulates the 
speed at which the rascals move. A set- 
ting of 1 is the fastest, while 9 is the 
slowest. Finally, you will need to con- 
firm your answers to begin play. 

A timer at the top of the screen 
counts the number of moves the ras- 
cals have made, so you can compete 
against your best efforts. Enjoy—and 
get those rascals! 


RASCALS 


@861:3C 
G809:36 
@811:98 
@819:D6 
@821:AD 
9829:38 
9831:8E 
G839:GA 


G8 
34 
BD 
F7 
17 
A2 
68 
68 


GA 
oo 
49 
EE 
68 
31 
98 
4c 


6G 
Ul) 
68 
14 
co 
AG 
8c 
oo 


9E 
Ul) 
9D 
68 
29 
39 
69 
29 


JULY 1993 COMPUTE 


36 
A2 
E8 
68 
AQ 
G8 
8E 
i) 


64 
E3 
FD 
EG 
73 
44 
1p 
DA 


G-31 


PROGRAMS 


6841:00 G0 G8 G6 GG GO GG GF CG| GA71:FE A9 26 AG 28 91 FE AS AS|GCAl1:Bl FE 36 28 AQ 87 91 FE 68 
9849:A9 97 8D 86 62 8D 21 DG 63| GA79:FE 8D BS 21 AS FF 8D B9 9B|GCA9:A9 26 88 91 FE AS FE 8D E2 
9851:A9 93 26 D2 FF AO OG 8D 8G| GA81:21 18 69 D4 85 FF AG GG 14|GCB1:B8 21 AS FF 8D B9 21 EE A7 
9859:21 D@ 66 OG FF AS 9G 8D 6E| BA89:A9 G4 91 FE 4C CB 21 C9 33] GCB9:B8 21 DG 63 EE BO 21 18 79 
@861:21 D@ AI BE 8D 26 DO 78 53] GA91:89 DB G3 4C CB 21 C9 88 C2] 9CC1:69 D4 85 FF CB AQ G4 91 FA 
6869:A5 G61 29 FB 85 G1 A2 G6 E6| GA99:FG G6 4C 72 23 4C CB 21 5B] GCC9:FE 4C CB 21 4C 32 22 26 8F 
6871:BD 66 D8 9D 68 38 BD GG B1| GAA1:AD BA 23 16 93 4C C9 22 9F|GCD1:61 25 26 DF 24 20 2A 25 G1 
879:D9 9D 6G 39 BD G9 DA 9D B2| GAA9:A2 G1 AS FE 18 6D BA 23 @3|9CD9:20 8D 24 A2 66 BD 41 27 B4 
9881:00 3A BD @@ DB 9D @@ 3B 68| GAB1:85 FE AS FF 69 GG 85 FF 53|@CE1:FG G7 9D GG G4 E8 4C 80 C4 
6889:BD El 27 9D @@ 3C BD GG 1C| GAB9:AG GG Bl FE C9 26 FG GC Gl | 9CE9:24 60 AC D7 25 A2 8G BE 82 
@891:DD 9D @@ 3D BD @9 DE 9D 15| GAC1:C9 89 FG CB C9 88 DG DS DF | GCF1:ED 94 8E ED D8 88 FG 39 BE 
6899:G6 3E CA DG D3 AS Gl G9 DF| GAC9:E8 4C 4D 22 AS FE 85 39 9£ | BCF9:E8 8E GD 65 8E GD D9 88 G1 
O8A1:04 85 G1 58 A2 GG BD AA F5| GAD1:A5 FF 18 69 D4 85 3A AQ 2D|GDG1:FG 2F E8 8E 2A G5 BE 2A 12 
G8A9:21 9D 54 28 E8 D@ F7 26 59| GAD9:GF AG GG 91 39 AS FE 38 4D] GDG9:D9 88 FO 25 EB BE 6B G5 FF 
@8Bl:72 24 26 5E 20 20 CB 21 28] SAE1:ED BA 23 85 FE AS FF E9 DG@|@D11:8E 6B D9 88 FO 1B 58 8E 65 
@8B9:4C 52 26 78 AO Gl 8D 1A 96] BAE9:50 85 FF AG GG Bl FE AC DA|@D19:D3 G5 8E D3 D9 88 FG ll 51 
@8C1:D9 8D 12 DG AI 7F 8D GD 6G| GAF1:BA 23 91 FE CA DG E6 AQ SF |GD21:E8 8E 1l 66 8E 11 DA 88 CC 
98C9:DC AJ 1B 8D 11 DG AY 83 91| GAF9:26 AG GB 91 FE AD BS 21 AG|GD29:FG G7 ES 8E Al G6 BE Al 67 
G8D1:A2 20 8D 14 93 8E 15 G3 AD} OBG1:18 6D BA 23 8D B8 21 AD 47 |@D31:DA A2 87 8E BE 67 AO 14 B4 
@8D9:AD D9 25 8D AY 21 58 66 97| GBG9:B9 21 69 G@ 8D BO 21 AS AC | GD39:8D BE DB 60 AQ FF 8D GF C2 
@8E1:EE 19 D@ CE AY 21 DO G9 33| GB11:FF 18 69 D4 85 FF AQ G4 2B |GD41:D4 AO GF 8D 86 G2 8D 21 63 
@8E9:AD D9 25 8D AQ 21 20 9A 71] GB19:AC BA 23 91 FE 4C CB 21 93 | @D49:DG AQ 93 26 D2 FF AQ GC AG 
G8F1:20 AD GD DC 4C 31 EA AE 98] @B21:4C 32 22 4c CB 21 38 E9 3@|@D51:8D 21 DG AD 81 BD 12 D4 6A 
@8F9:9E 21 BD AA 21 38 E9 29 EA| OB29:86 8D BA 23 A2 G2 A5 FE D3 |GD59:A9 GG A2 G4 85 FC 86 FD G8 
6961:85 FC BD AB 21 E9 @@ 85 BD/ @B31:38 ED BA 23 85 FE AS FF DB |@D61:A2 69 AD 1B D4 CD D8 25 2B 
G969:FD AG GG A2 GG 20 GF 21 EC| GB39:E9 GG 85 FF AG GG Bl FE SC | 9D69:96 13 E6 FC D@ G2 E6 FD 97 
G911:A@ 28 26 6F 21 AG 5G 20 C4| GB41:C9 26 FG GC C9 89 FO DB 52 |GD71:A5 FC C9 E7 DG EA AS FD DG 
6919:6F 21 EG @6 D@ G6 EE 6A 2E| GB49:C9 88 DG D7 EB 4C D1 22 3c |GD79:C9 G7 DG E4 69 AD 88 AG FD 
@921:21 4C 15 21 8E 6C 21 AD Al| GB51:A5 FE 85 39 AS FF 18 69 G5 |9D81:G9 91 FC 4C GD 25 6G A2 B4 
9929:1B D4 CD 6C 21 B® FS AA E6/ GB59:D4 85 3A AO GF 91 39 AC FA |GD89:28 AQ 89 9D OF G4 9D BF 35 
6931:BD A@ 21 AA AG 29 Bl FC 23} 6B61:BA 23 Bl FE AG GG 91 FE EA |@D91:G7 CA DG F7 A2 27 AG G4 72 
9939:48 AJ 20 91 FC 8A A8 Bl GC| GB69:CA FG 11 AS FE 18 6D BA 8B |@D99:86 FC 84 FD A2 17 AQ 89 F4 
9941:FC 8D 6B 21 68 91 FC 48 84] @B71:23 85 FE AS FF 69 GG 85 DF |@DAl1:8D BF 07 AG GG 91 FC C8 66 
6949:AE 9E 21 8C 6C 21 AS FC 77| OB79:FF 4C G2 23 AY 26 AC BA F6 |GDA9:91 FC CA FG 16 AS FC 18 5D 
G951:18 6D 6C 21 9D AA 21 A5 E9| 6B81:23 91 FE AD B8 21 38 ED FG |@DB1:69 28 85 FC A5 FD 69 GG G3 
9959:FD 69 08 9D AB 21 AS FD C9| 9B89:BA 23 8D BS 21 AD B9 21 57 |GDB9:85 FD 4C 41 25 60 AY 93 45 
6961:18°69 D4 85 FD 68 91 FC 7E/ GB91:E9 G6 8D B9 21 AS FF 18 Al |@DC1:20 EB 1F AQ 1E 8D 18 DO 8D 
9969:AD 6B 21 C9 87 DG G3 EE 62] 6B99:69 D4 85 FF AQ G4 AG GG EB | GDC9:A2 GG BD DA 25 9D GO G4 3E 
6971:BA 21 EE 9E 21 EE 9E 21 14] 6BA1:91 FE 4C CB 21 20 5E 23 EF |@DD1:BD 41 26 9D 67 64 E8 D@ A7 
6979:EE 6E 21 AD 6E 21 CD D7 G9] OBA9:A2 @8 BD 4B 28 9D D@ G4 DC | GDD9:F1 AY 38 8D D3 25 26 C3 GE 
9981:25 F@ G1 6% AD 6A 21 CD AF| 6BB1:A9 61 9D DA D8 CA DG F2 C4 |GDE1:25 8D B7 64 38 ED 30 8D 86 
6989:D7 25 D@ 03 EE 6D 21 A9 34] OBB9:4C 75 23 A2 66 BD 31 28 63 | GDE9:D7 25 AQ B6 8D DF G4 AQ 77 
6991:00 8D 9E 21 8D 6E 21 8D £2] GBC1:FG BC 9D DB G4 AD Gl 9D 7A | GDF1:3A 8D D3 25 26 C3 25 8D 41 
6999:6A 21 8D 9F 21 A2 36 EE B7| OBC9:DG D8 EB 4C 68 23 60 20 DG | GDF9:DF G4 38 E9 GB 8D DB 25 16 
G9A1:97 64 AD 97 G4 C9 3A DG 3C| GBD1:5E 23 78 AO 31 A2 EA 8D Gl | GEG1:A9 BS 8D 67 G5 2G C3 25 D6 
G9A9:1D 8E 97 G4 EE 96 64 AD A8| GBD9:14 G3 8E 15 G3 AD 78 8D 1B | GEG9:8D G7 G5 18 EO 2F 8D D9 DB 
G9B1:96 64 C9 3A DG 10 8E 96 67| GBE1:19 D@ AO FG 8D 1A DG AO 1D | GE11:25 AO AG 8D 2F G5 20 E4 C9 
69B9:04 EE 95 @4 AD 95 G4 C9 12| GBE9:FF 8D GD DC A2 GO BD 54 B7 |GE19:FF FO FB C9 4E FO 9F 60 63 
G9C1:3A D@ G3 BE 95 G4 69 GO EB| GBF1:28 9D AA 21 CA DG F7 58 CC |GE21:20 E4 FF CA D@ FA 20 E4 CA 
G9C9:08 G8 GG GG 2G 9G 21 BO 12| GBF9:A2 GG 26 E4 FF CA D@ FA 7B | GE29:FF FO FB C9 31 90 F7 C9 23 
G9D1:03 20 8A 21 C8 20 94 21 D9| GCO1:20 E4 FF FG FB C9 4E FG G6 | GE31:38 BO F3 68 GG G2 BG 88 AA 
G909:B@ G3 26 8A 21 CB 26 96 AE| 8CG9:6B C9 59 DG F3 EA AQ GG EF | GE39:88 88 88 88 88 88 88 88 55 
69E1:21 BO G3 26 8A 21 66 98 45] C11:8D 21 D@ 68 4c E2 FC GG 4G | GE41:88 88 88 88 88 88 88 88 5D 
99E9:9D AG 21 E8 6G Bl FC C9 33] GC19:4C 32 22 AD BS 21 85 FE 57 | GE49:88 88 88 88 88 88 88 88 65 
G9F1:87 FO 64 C9 2G DG G2 18 81] GC21:AD B9 21 85 FF AG 28 8C 5A | GE51:88 88 88 88 88 88 88 88 6D 
G9F9:68 38 60 GG BG GB GO GB 56| GC29:BA 23 Bl FE 30 EA AQ 87 95 | GE59:88 88 88 88 88 88 88 88 75 
GAG1:06 G6 G8 G6 BG GB BG ED G3 GE61:20 80 26 26 20 26 20 52 C7 
GAG9:64 OD 65 2A G5 6B G5 D3 59 GE69:28 20 26 41 26 20 20 53 CA 
GA11:65 11 86 Al G6 BE 67 O60 FF GE71:26 26 26 43 26 20 20 41 EO 
GA19:A9 OG 8D BA 21 4C 72 23 Al GE79:26 26 26 4C 28 26 20 53 8B 
GA21:A9 GG 8D 6D 21 4C 48 23 86 GE81:20 26 26 20 8G 26 88 88 D9 
GA29:AD BA 21 D@ EB AD 6D 21 G6| 6C59:B8 21 38 E9 G1 85 FE AD 85 | GE89:28 26 29 26 26 20 20 26 AS 
GA31:D@ EE 26 E4 FF F@ Fl C9 2D/ GC61:B9 21 E9 GB 85 FF AG GG 49 | GE91:20 26 26 42 19 26 42 GF CA 
GA39:49 D@ G3 4C F6 21 C9 4A 65] BC69:A9 81 8D BA 23 Bl FE 36 22 | GE99:02 26 42 12 GF G4 B65 12 CC 
93 4C FA 23 C9 4B D@ SF | GC71:5B AY 87 91 FE AO 26 C8 53 | GEA1:69 G3 GB 20 26 20 20 26 48 
4C BE 23 C9 4C DG D8 F5| 6C79:91 FE AS FE 8D B8 21 AS FS | VEA9:26 26 26 20 20 26 88 88 FE 
34 24 AD B8 21 38 E9 9C/ GC81:FF 8D B9 21 18 69 D4 85 pB | GEB1:88 88 88 88 88 88 88 88 CD 
GA59:28 85 FE AD B9 21 E9 66 C3| GC89:FF 88 AO G4 91 FE 4C CB 26 | JEB9:88 88 88 88 88 88 88 88 D5 
6A61:85 FF A9 A8 8D BA 23 AG 36 | GC91:21 AD BB 21 85 FE AD B9 Gc | GEC1:88 88 88 88 88 88 88 88 DD 
GA69:60 Bl FE 36 22 AQ 87 91 25|6C99:21 85 FF AG G1 8C BA 23 8g | SEC9:88 88 88 88 88 88 88 88 ES 


G-32. COMPUTE JULY 1993 


GED1:88 
GED9: 20 
@EE1:23 
GEE9: G3 
GEF1:26 
GEF9: 20 
GFO1:20 
GFO9:12 
OF11:13 
GF19:20 
OF21:26 
GF29:26 
GF31:61 
OF39:16 
OF41:2¢0 
GF49:26 
OF51:26 
GF59:62 
GF61:12 
GF69:20 
GF71:26 
GF79:4B 
OF81:55 
GF89:69 
@F91:2D 
GF99:4C 
GFA1:89 
OFA9:89 
OFB1:89 
GFB9:89 
GFC1:89 
@FC9:76 
GFD1:46 
GFD9:20 
GOFE1:46 
GFE9:4G 
GFF1:6B 
GFF9:6E 
1601:26 
1009:42 
1611:65 
1619:7D 
1621:7D 
1629: 48 
1631:65 
1639:26 
1641:5A 
1049:7E 
1651:5A 
1659:76 
1061:24 
1669:4E 
1071:3E 
1679:3C 
1681:7D 
1689:7D 
1691:D5 
1699:D0 
16A1:C9 
16A9:D9 
16BL:Al 


88 
26 
20 
Ol 
28 
26 
20 
Ol 
69 
28 
26 
26 
13 
@5 
28 
26 
26 
OF 
5 
28 
26 
@5 
10 
07 
44 
2D 
89 
89 
89 
89 
89 
46 
72 
76 
40 
40 
72 
5D 
6D 
OF 
12 
6D 
6D 
46 
3A 
26 
66 
5A 
TE 
DS 
3c 18 
TE 
18 
3c 
7D 
7D 
AG 
cc 
CE 
CF 
OG 


88 
26 
52 
20 
29 
20 
26 
44 
20 
29 
26 
26 
13 
26 
29 
20 
26 
43 
26 
29 
26 
26 
4A 
26 
26 
14 
89 
89 
89 
89 
89 
6E 
46 
46 
46 
89 
73 
46 
G2 
12 
89 
6D 
26 
54 
38 
Cr) 
18 
7E 
18 
18 
gc 
24 
46 
66 
ao 
C1) 
c4 
cl 
AP 
CF 
oo 


88 
26 
61 
B7 
26 
26 
20 
@5 
36 
26 
26 
26 
26 
35 
26 
26 
26 
OF 
26 
26 
26 
49 
2D 
20 
26 
89 
89 
89 
89 
89 
89 
76 
6E 
46 
40 
89 
6D 
73 
U9) 
OF 
89 
4g 
6D 
69 
20 
18 
18 
66 
18 
18 
GE 
3E 
3c 
1lF 
1F 
bg 
AE 
C7 
CE 
CE 
oo 


26 
26 
13 
20 
26 
20 
43 
GE 
20 
20 
26 
52 
53 
26 
26 
26 
41 
12 
26 
26 
26 
2D 
52 
4B 
26 
89 
89 
89 
89 
89 
20 
46 
6E 
46 
46 
26 
46 
5D 
26 
64 
26 
4g 
71 
@D 
26 
3c 
3c 
7E 
3c 
3c 
4A 
3A 
24 
23 
23 
CF 
AG 
cl 
Cr) 
Al 
oo 


85 
FS 
39 
84 
DE 
16 
42 
6D 
16 
19 
3E 
79 
45 
86 
41 
67 
98 
8D 
46 
37 
8F 
E4 
2B 
3D 
EB 
26 
BE 
c7 
CF 
D7 
76 
El 
6B 
F3 
FF 
oF 
B3 
4D 
D6 
cc 
3B 
AA 
33 
CA 
ac 
E4 
c4 
6D 
al 
3E 
BD 
18 
56 
G4 
9c 
cé 
39 
88 
87 
aC 
A2 


Bob Broderick is a student at California 
High School and has been program- 
ming for about five years. He wrote Ras- 
cals because he wanted a small ar- 
cade-style game that he could play 
with relative ease and few rules. He 
lives in San Ramon, California. 


SCUD 


By William F. Snow 

There has been a lot of discussion over 
the past few years about how little peo- 
ple know about world geography. For ex- 
ample, do you know the names of all of 
the countries in the Americas? Can you 
at least venture a guess as to how many 
there are in North, Central, and South 
America? Give up? There are 35! Despite 
its military-sounding name, Scud will 
help you learn the names and capitals of 
these 35 countries. 


Entering the Program 

Scud is an entertaining and fun way to 
learn something about the countries of 
the Americas. It's written entirely in BA- 
SIC. To help avoid typing errors, enter 
it with The Automatic Proofreader. See 
“Typing Aids” elsewhere in this sec- 
tion. Be sure to save a copy of the pro- 
gram before you try to run it. 

Playing Scud isn't difficult. Plug a 
joystick into port 2 and then load and 
run Scud. The opening screen will 
give brief instructions for playing the 
game. After a short pause, you will be 
presented with the name of a country 
and asked to choose the capital from 
a list of three. If you choose incorrect- 
ly, you are given the correct answer in 
a special bulletin. 


Defend the City 

If you choose correctly, the city will be 
displayed, sirens will wail, and missiles 
will be launched at the city. It will then 
be your responsibility to use your 
Scud missiles to try to shoot down any 
enemy rockets before they reach the 
city. Use the joystick to aim your 
Scud. A total of three missiles will be 
launched from different positions dur- 
ing each attack. If you shoot down all 
three, you will have saved the city. 


Modifications 

Scud was written to help teach the 
names and capitals of the countries of 
the Americas. Since Scud is written en- 
tirely in BASIC, it should be very easy 
to modify the game so that the capitals 
of any other group of countries or 
states could be taught. The names of 
the countries, followed by their capi- 
tals, are in data statements in lines 
1200-1300. 


In order to modify the game, 
change this data to whatever group 
you wish to work with. Then, the follow- 
ing code should be changed to reflect 
the number of countries or states you 
have entered into the data statements: 
the dimension statements in line 40; 
the FOR in line 80; the number of coun- 
tries in lines 150, 160, 170 (the scram- 
ble routine); and the end-of-game rou- 
tine in line 200. 

Scud is fun to play and will quickly 
teach the names and capitals of the 
couniries of the Americas to anyone 
who wants to learn them. 


SCUD 

BH 1@ REM COPYRIGHT 1993 - COM 
PUTE PUBLICATIONS - ALL 
{SPACE}RIGHTS RESERVED 


QD 26 REM BY WM. F. SNOW 
GG 30 GOSsUB1d20 
XJ 46 CLR:DIM Q$(35) ,A$(35) ,CO 
$(35) ,CA$ (35) ,¥ (35) :V=53 
248:SN=54272:POKESN+24,1 
5 
GS 50 POKE53280,7:POKE53281,7: 
POKEV+31,9 
QD 68 POKESN+4,0:PRINT" {CLR} 
{8 DOWN} "SPC(14)"{BLU}PL 
EASE WAIT":PRINT" 
{3 DOWN}{3 SPACES}OUR SP 
IES ARE"; 
CD 7@ PRINT" CHECKING ON THE E 
NEMY" 
DE 80 FOR QA=1T035:READQ$ (QA), 
A$ (QA) :NEXT 
BE 96 FOR S=12288 TO 12351:REA 
DSP: POKES, SP:NEXT 
AB 10@ FORS=12352TO 12415:READ 
SP: POKES, SP:NEXT 
QD 114 FORS=12416 TO 12479:REA 
D SP:POKES,SP:NEXT 
BM 126 FORS=12480T012543:READS 
P:POKES,SP:NEXT 
AK 136 FORS=12544 TO 12607:REA 
D SP:POKES,SP:NEXT 
JE 148 FORS=12608 TO 12671:REA 
DSP: POKES, SP:NEXT 
FM 159 FOR I=l TO 35 
KC 168 X=INT(RND(.)*35)+1 
FC 176 FOR CK=1 TO35:IF X=¥(CK 
) THEN168 
SM 18@ NEXTCK:Y (I) =X 
BD 198 CO$(X)=Q$(I) :CA$(X) =AS ( 
I) :NEXTI 
GS 266 SC=G:FORI=1T04:POKEV+tI, 
@:NEXT: POKEV+21,@: P=P+1 
:IF P>35THENP=35:GOTO11 
4g 
AS 216 POKE53280,13:POKE53281, 
1 
MD 220 JR=INT(RND(.)*10)+2 
RC 230 PRINT"{CLR}{16 DOWN} 


{4 SPACES}SCUDS HAVE BE 
JULY 1993 COMPUTE G-33 


PROGRAMS 


PB 
SF 
BK 
GJ 
RF 
MP 


JD 


HD 


MX 


SB 
Gc 


HG 


XP 


SG 
FG 


KG 


CR 


HX 


AB 


HC 


G-34 


249 
256 
266 
276 
280 
296 


3698 


316 


320 


338 
346 


356 


360 


376 
380 


396 


400 


419 
426 


430 


)446 


450 


466 


476 
486 


EN LAUNCHED AT THE 
PRINTSPC(9) "CAPITAL OF 
{SPACE} {BLK}"COS (P) 
PRINT: PRINTSPC(12)" 
{BLU}SHOULD YOU GO TO" 
Q=INT (RND(.)*10)+1:IF Q 
=P THEN260 
R=INT(RND(.)*10)+1:1E R 
=P OR R=Q THEN276 
POKE2640,192: POKEV+29,1 
: POKEV+46,1 

S=INT (RND(.)*3)+1:0N S 
{SPACE}GOT0306,340, 380 
PRINT: PRINTSPC (9) "{BLK} 
A) {BLU}"CAS$(P) : PRINT: PR 
INTSPC (9) "{BLK}B) {BLU}" 
CA$ (Q) 

PRINT: PRINTSPC (9) "{BLK} 
C) {BLU} "CAS (R) : PRINTSPC 
(9)"{3 DOWN} {CYN}HIT Q 
{SPACE}TO END GAME" 
GOSUB68G:IF BS="A"THEN4 
20 

GOSUB820:GOTO200 

PRINT: PRINTSPC (9) "{BLK} 
A) {BLU} "CAS (Q) PRINT: PR 
INTSPC(9)"{BLK}B) {BLU}" 
CAS (P) 

PRINT: PRINTSPC (9) "{BLK} 
C) {BLU} "CA$ (R) : PRINTSPC 
(9)"{3 DOWN} {CYN}HIT Q 
{SPACE}TO END GAME" 
GOSUB68G:IF BS="B"THEN4 
20 

GOSUB820:GOT020 

PRINT: PRINTSPC (9) "{BLK} 
A) {BLU}"CA$(R) :PRINT:PR 
INTSPC (9) "{BLK}B) {BLU}" 
CAS (Q) 

PRINT: PRINTSPC (9) "{BLK} 
C) {BLU} "CAS (P) : PRINTSPC 
(9)"{3 DOWN} {CYN}HIT Q 
{SPACE}TO END GAME" 
GOSUB680:IF BS="C"THEN4 
20 

GOSUB824:GOTO200 

PRINT" {CLR}": POKE53280, 
13: POKE53281,13 

PRINT" {HOME} {18 DOWN}"S 
PC (8) "{BLK}B":PRINTSPC ( 
7)"{PUR}NP(2 SPACES} 
{RVS} {OFF}" 

PRINT" {3 SPACES} {BLK} 
{H}{A}IOP* OP": PRINT" 
{4 SPACES) (PUR}OP{T} 
{RVS} {OFF} {N}BP{@}NP" 
PRINT"{3 SPACES} {BLK}O 
{SPACE}{N} {RVS} {OFF} 
{N}B{PUR}M M{N}":GOSUB1 
126 
POKEV+21,3:XA=75: YA=206 
: POKE2041,194:POKEV+39, 
11: POKEV+46,6 
SC=SC+1:IFSC>3 THEN GOS 
UB976:GOTO209 
PS=INT(RND(.)*3)+1:0N P 
S GOTO490,720,778 


COMPUTE JULY 1993 


490 
500 
516 
526 
536 
548 
556 
566 
576 
586 
596 
606 


616 
620 
636 


646 


650 
666 
676 
680 
690 
708 
716 
726 
736 


740 


756 


768 
776 


780 


799 


800 


81d 
829 


POKE2046,192: POKEV+39,1 
1:X=60:XX=255:FORA=1T02 
5:XX=XX-3: POKEV, XX 
POKEV+1,X:GOSUB576 
POKEV+2,XA: POKEV+3,YA:N 
EXT 

POKEV+30,9 
POKE2046,193:FORA=1T056 
:XX=XX-3:X=X+3: POKEV, XX 
: POKEV+1,X:GOSUB576 
IFFB=@ANDPEEK (V+3G) AND2 
=2THEN GOSUB630:GOT0470 
POKEV+2,XA: POKEV+3,YA:I 
F (PEEK (V+31) AND1L) =1THEN 
916 

NEXT: GOTO206 

JY=PEEK (56326) AND15:FB= 
PEEK (56320) AND16:REM RE 
AD STICK AND BUTTON 
IFJY=7THENXA=XA+JR: IF X 
A>25S5THEN XA=255 
IFJY=1LLTHENXA=XA-JR: IFX 
A<1 THEN XA=1 
IFJY=1L3THENYA=YA+JR:1F 
{SPACE}¥A>25@ THEN YA=2 
58 
IFJY=14THENYA=YA-JR:IF 
{SPACE}YA<1 THEN YA=1 
RETURN 

POKE2046,195: POKEV+39,2 
:GOSUB110@: POKEV+23,1:P 
OKEV+29,1 

FOREC=1T08: POKEV+39,EC: 
FORDE=1T076:NEXT:NEXT:P 
OKEV, 0: POKEV+1,6 
POKEV+31,@:POKEV+23,0:R 
ETURN 

GET BS:IF BS="" THEN66G 
RETURN 

GET BS: IFBS=""THEN680 
IF BS$="A"ORBS="C"ORBS=" 
B"THENRETURN 

IF BS="Q"THEN1140 
GOTO68¢ 
POKE2046,196:POKEV+39,1 
1: POKEV, 60: FORVS=6T0209 
STEP5:GOSUB57@ 
POKEV+1,VS: POKEV+38,0:P 
OKEV+2,XA 
POKEV+3, YA: IFFB=SANDPEE 
K (V+36) AND2=2THENGOSUB6 
38:GOT0476 

IF (PEEK(V+31)AND1)=1 T 
HEN916 

NEXT: GOTO266 
POKE2640,197: POKEV+39,1 
1:POKEV, 255: POKEV+1, 220 
FORX=255TOGSTEP-3:GOSUB 
570: POKEV, X: POKEV+30,0 
POKEV+2,XA: POKEV+3,YA:I 
FFB=G@ANDPEEK (V+3@) AND2= 
2THENGOSUB639:GOT0476 
IF (PEEK(V+31)AND1)=1 T 
HEN916 

NEXT :GOTO208 
PRINT"{CLR}{4 DOWN} 

{6 RIGHT} {RED}OM {H} 


DB 


KR 


FB 


MA 


cQ 
RP 


BA 


xs 


MP 


AM 


HR 


836 


846 


85Q 


860 


870 


889 


896 


986 


916 


926 


9368 


946 


956 


960 


976 
986 


996 


{N}{2 SPACES} {H} 

{2 SPACES}{H}{2 SPACES} 

OLY} {Y¥}P{2 Y} B {NPM 

[2 SPACES} {H}" 

PRINT"{6 RIGHT}LN {H} 

{N}{2 SPACES} {H} 

{2 SPACES}{H}{2 SPACES} 

L{P}{2 SPACES}{N} 

{3 SPACES}B {N} M {H}" 
PRINT"{6 RIGHT}{H}M {H} 
{N}{2 SPACES}{H} 

{2 SPACES}{H}{2 SPACES} 
{H}{3 SPACES}{N} 

{3 SPACES}B {N} 

{2 SPACES}M{H}" 
PRINT"{6 RIGHT}LN M{P}N 
{2 SPACES}L{P} LtP} L 
{P}{2 SPACES} {N} 

{3 SPACES}B {N} 

{3 SPACES}{H}" 

PRINT "{3 DOWN} {BLK}"SP 
C(4)CAS$(P) :PRINT" {BLU} 
{SPACE}THE CAPITAL OF 
{BLK}":PRINTSPC (4) COS (P 


) 
PRINT"{BLU}{2 SPACES}HA 
S BEEN DESTROYED "; 
PRINT"BY SCUD MISSLES. 
{3 SPACES}THE PERSON WH 
O COULD HAVE SAVED THE 
{SPACE}CITYDID"; 
PRINT" NOT HAVE ENOUGH 
{SPACE}INFORMATION TO G 
ET{2 SPACES}TO THE RIGH 
T CITY IN TIME." 
PRINT"{3 DOWN}{8 RIGHT} 
{6}HIT ANY KEY TO CONTI 
NUE{BLU}":GOSUB669:RETU 
RN 
POKEV+21,6: PRINT" {HOME} 
{26 DOWN}"SPC(4)"{RED}M 
{F}{5 SPACES}N N":GOSU 
B11l00 
PRINTSPC(4)"N M 
{4 SPACES}N NNM N" 
PRINTSPC(3)"TM M{Q}IBBN 
{+}P{2 £}Q":POKESN+4,@ 
FORDE=1 T0500:NEXT:FORC 
L=1704T01903:POKECL, 32: 
NEXT 
PRINTSPC (3) "{UP} {BLK} 
{D}{O} {K}{L}{2 IPRER} 
LEf}@L+}47}":FORDE=1T 
O1G00:NEXT 
POKEV, 0: POKEV+1,0: POKEV 
+31,9:GOT0206 
POKEV+21,0 
PRINT"{CLR}{5 DOWN} 
{4 RIGHT} {BLK}THANK YOU 
1!":PRINT: PRINT" {BLU} YO 
UR KNOWLEDGE AND MARKSM 
ANSHIP"; 
PRINT" HAVE{4 SPACES}SA 
VED{BLK}": PRINT: PRINTCA 
$(P):PRINT: PRINT" {BLU}T 
HE CAPITAL OF{BLK}" 


1969 PRINT:PRINT COS(P):PRI 


DB 


JA 


PG 


QA 


JD 


KM 


KG 


RP 


DF 


KG 


CE 
PD 


car 


QD 


SG 


AA 


1619 


1626 


1636 


1946 


1656 


1669 


1679 


1686 


1696 


1169 


1119 
1126 


1136 


11496 


1156 


1166 


1179 
1180 
1196 
12396 


NT" {BLU}" 

PRINT"(5 DOWN} {WHT}HIT 
ANY KEY TO CONTINUE 
{BLU}":GOSUB666:SS=SS+ 
1:RETURN 

POKE53280,16: POKE53281 
710 

PRINT" {CLR}{3 DOWN} 
{BLK}"SPC(12)"N{2 T} 
{2 SPACES}N{2 T} 

{2 SPACES}{G} {M} 

{2 SPACES}OM": PRINTSPC 
(12) "M¢@>{3 SPACES} {G} 
{4 SPACES}{G} {M+ 

{2 SPACES}{G}{M}" 
PRINTSPC(14)"M 

{2 SPACES}{G} 

{4 SPACES}{G} {M> 

{2 SPACES}{G}{M}":PRIN 

TSPC(12)"{2 @}N 

{2 SPACES}M{2 @} 

{2 SPACES}M{@}N 

{2 SPACES}LN" 

PRINT"{3 DOWN} {BLU} 

{3 SPACES}THE ENEMY IS 
LAUNCHING SCUD MISSIL 
ES AT NATIONAL CAPITAL 
Ss"; 

PRINT" IN THE AMERICAS 
-{3 SPACES}YOUR JOB IS 
TO GET TO THE CAPITAL 
UNDER ATTACK"; 
PRINT" AND DESTROY 
MISSILES. USE A 
{2 SPACES} JOYSTICK 
{SPACE}PORT TWO,"; 
PRINT" BUT BE CAREFUL, 
{3 SPACES}EQUIPMENT IN 
DIFFERENT CITIES DOES 
NOT "; 

PRINT" ALWAYS RESPOND 
{SPACE}WITH THE SAME S 
PEED.":GOSUB9@@: RETURN 
POKESN+4,129:POKESN+5, 
92:POKESN+1,1:POKESN,1 
00: FORF=1T0999:NEXT: PO 
KESN+4,@ 

RETURN 
POKESN+14,5:POKESN+13, 
16: POKESN+3,1:POKESN+6 
7240: POKESN+4,65 
POKESN, 240: POKESN+1, 26 
: POKEV+30,@: RETURN 
PRINT" {CLR}{5 DOWN} 

{7 RIGHT}YOU SAVED "SS 
" OUT OF THE "P 
PRINT:PRINT"{8 RIGHT}C 
ITIES THAT WERE ATTACK 
ED" 

PRINT"{5 DOWN} 

{5 RIGHT}WOULD YOU LIK 
E TO TRY AGAIN (¥/N)": 
GOSUB66G 

IF BS="N"THEN END 
IFBS="Y"THEN RUN 49 
GOTO114¢ 

DATAANTIGUA & BARBUDA, 


THE 


IN 


EK 


PB 


FS 


xc 


KG 


HJ 


BP 


KE 


FS 


FE 


GG 


EB 


SG 


CJ 


FR 


PX 


1216 


1226 


1236 


Tae 
1256 
1266 
1276 
1286 
1299 


1366 


1316 
1329 
1336 
134 
1356 
1366 


1376 


ST. JOHNS,BAHAMAS,NASS 
AU,BELIZE,BELMOPAN 
DATACANADA, OTTAWA, COST 
A RICA,SAN JOSE,CUBA,H 
AVANA , DOMINICA, ROSEAU 
DATADOMINICAN REPUBLIC 
,SANTO DOMINGO,EL SALV 
ADOR,SAN SALVADOR,GREN 
ADA 
DATAST. GEORGE'S,GUATE 
MALA, GUATEMALA, HAITI, P 
ORT-AU-PRINCE , HONDURAS 
DATATEGUCIGALPA, JAMAIC 
A, KINGSTON , MEXICO ,MEXI 
CO CITY,NICARAGUA,MANA 
GUA 
DATAPANAMA, PANAMA CITY 
,SAINT LUCIA,CASTRIES, 
SAINT VINCENT & THE GR 
ENADINES 
DATAKINGSTOWN, TRINIDAD 
& TOBAGO,PORT OF SPAI 
N,UNITED STATES, WASHIN 
GTON D.C. 
DATAARGENTINA,BUENOS A 
IRES,BOLIVIA,LA PAZ,BR 
AZIL,BRASILIA,CHILE,SA 
NTIAGO 
DATACOLOMBIA, BOGOTA, EC 
UADOR , QUITO, GUYANA, GEO 
RGETOWN, PARAGUAY, ASUNC 
ION 
DATAPERU, LIMA, SURINAME 
, PARAMARIBO , URUGUAY , MO 
NTIVIDEO, VENEZUELA,CAR 
ACAS 
DATABARBADOS , BRIDGETOW 
N,ST. KITTS & NEVIS,BA 
SSETERRE 
DATAGGG, 000,000 ,000,00 
@,800,009,000,000,000, 
666,080,000,000,000,00 
6,000 
DATAGS1,009,000,003,09 
G,060,067,000,624,015, 
960,194,127,906,143,25 
5,060 
DATA143,255,000,104,12 
7,900,024,015,000,090, 
807,080,000,003,000,00 
8,001 
DATAGGG,G00,000,000,08 
6,000,900,000,000,090, 
888,650,000,000,000,00 
6,008 
DATAGGG , 600,000 ,000,00 
0, 000,900,000,000,000, 
G86 ,090,000,000,004,00 
8,000 
DATAGG6, G00, 000,007,900 
G,060,907,128,000,007, 
192,986,007,224,000,00 
7,246 
DATAGGG, 007,248, 000,00 
7,252,966,615,254,006, 
628,099,668,120,660,99 
0,144 


RF 1389 DATAGGG, 006,144, 000,00 
6,224,000,000,000,000, 
665 ,000,006,000,000,00 
6,000 
DATAGGG,GG0,005,000,00 
6,000,000,900,500,600, 
800 ,008,000,006, 008,00 
6,960 
DATAGG8, G00, 009,008,00 
8,090,255,128,600,908, 
040,006,008,000,906,08 
8,000 
DATAGOG, G08, 000,000,008 
8,000,006,060,900,000, 
040 ,000,000,000,000,05 
8,090 
DATAGGG,GG5,660,005,00 
G,600,432,008,008,032, 
632,004, 032,090,000,63 
2,000 
DATAGG1,602,008,008,13 
2,000,900,072,000,128, 
648,000,064,126,902,09 
2,252 
DATA248,128,120,002,0 
6,048,060,080,672,000, 
600,132,006,001, 402,00 
6,000 
DATAG16,G00,000,016,00 
6,068,016,032,616,016, 
@32,096,008,060,909,00 
6,000 
DATAGGG,GG3,255,128,00 
1,215,000,800,214,006, 
606,124,600,000,056,00 
8,000 
DATAG40,600,000,040,00 
6,090,040,000,000,046, 
690 ,000,040,008,000,04 
6,008 
DATAGGG,049,008,000,04 
6,000,060,040,000,000, 
656 ,006,000,016,006,00 
9,016 
DATAGGG,GG0,016,806,00 
6,009, 060,606,000,008, 
69G,000,006,000,006,08 
6,008 

DATAGGG, 690,000, 008,00 
6, G0,000,000,009,000, 
640,000,000, 050,000,00 
8,080 
DATAGG3,606,600,007,00 
@,000,025,015,255,241, 
600 ,000,025,098,000,06 
7,008 
DATAGOG,003,000,000,00 
0 ,000,960,000,000,00G, 
99G,905,900,008, 006,06 
6, G00 

DATAGGO, 600,008, 000,00 
0, G00,000,000,000,000 


KK 1398 


GK 1469 


Ac 1416 


MA 1429 


KF 14306 


FH 1449 


Cs 1456 


BK 1466 


RR 1476 


EC 1486 


QP 1499 


BA 1569 


FK 1516 


JE 1526 


PD 1538 


William Snow, a teacher for more than 
27 years, is vice president of the 
McHenry County Commodore Comput- 
er Club in McHenry, Illinois. 


JULY 1993 COMPUTE G-35 


PROGRAMS 


CRYPTARITHM SOLVER 


By David Pankhurst 
When | first bought my Commodore, | 
used it often to solve math problems. | 
liked the brute-force approach the com- 
puter allowed. |’d just have a series of 
FOR-NEXT loops go through the possible 
answers until a solution would appear. 
That was fine most of the time, but even- 
tually | came across a type of math prob- 
lem the computer couldn't help me with, 
the cryptarithm. You've no doubt seen 
this type of problem before. 


HELP 
+ THE 


YOUNG 


Each letter represents a different digit, 
0-9. In this example, there are ten dif- 
ferent letters, so all ten digits are 
used. The words HELP and THE each 
make numbers that, when added to- 
gether, match the result in YOUNG. 
There are no restrictions, except that 0 
can't be the first digit in any number. 

Clearly, this isn't a simple loop prob- 
lem. Let's say the H above was as- 
signed 1; the E, 2; the L, 3; and so on 
throughout the puzzle. A sample addi- 
tion could then be tried, and the result 
checked. 

So how many times does this need 
to be done? To completely check the 
puzzle, H has to be tried out for each 
of the 9 digits (leaving out 0), E by 
each of the remaining 9, the L by the 
remaining 8, and so on. This gives ap- 
proximately 9x 9x 8x 7x 6x 5x 
4x 3x 2x 1 choices, or 3,265,920 dif- 
ferent combinations. That's a lot of 
loops in BASIC! If the 64 managed one 
calculation per second, it would take 
more than 35 days to complete. 


To the Rescue 

Enter machine language. Cryptarithm 
Solver brings ML brute force to these 
puzzles. In a matter of hours, it can 
solve most cryptarithms. A puzzle is 
first broken up into combinations, and 
the computer tries different substitu- 
tions for each letter. 

if the result is correct (totals on both 
sides of the equal sign match) the puz- 
zle is solved. The program then goes 
on to see if there are other solutions. 


G-36 COMPUTE JULY 1993 


Typing It In 

Cryptarithm Solver is written in BASIC, 
but it pokes machine language rou- 
tines into memory to speed calcula- 
tions. To help avoid typing errors, en- 
ter the program with The Automatic 
Proofreader; see “Typing Aids" else- 
where in this section. Be sure to save 
a copy of the program before you try to 
run it. 


Solving Equations 

When you run Cryptarithm Solver, the 
program will prompt you for a puzzle. 
To solve the above problem, enter it in 
the following format. (You may use low- 
ercase letters.) 


HELP+THE=YOUNG 


After you press Return, the program 
displays a constantly changing sum in 
the bottom of the screen. This is a win- 
dow into the processing of the pro- 
gram. The display is the test result pro- 
duced by each combination. Usually, 
the result is wrong, and the next com- 
bination is then tried. However, when 
the result is true, the solution is dis- 
played, along with the time it took to 
find. Processing then continues with 
the next combination. 


No Key Words 

You need to watch out for one thing 
when you're preparing input for Cryp- 
tarithm Solver. If you typed SEND + 
MORE = MONEY, the program would 
display an error message informing 
you that the words contained an em- 
bedded BASIC function or command. 
This is because the BASIC commands 
END, OR, and ON are embedded in 
the formula, and the computer tries to 
encode these as commands. To avoid 
this problem, insert spaces between 
the letters. SEND+MORE=MO 
N E Y would work fine. 

Cryptarithm Solver works well with all 
sorts of mathematical operations, not 
just addition. One example is the follow- 
ing multiplication. 


ABCDE*9=FGHIS 


Entering it this way fixes the 9; only let- 
ters are changed in the puzzle. By the 
way, there are two solutions to this puz- 
zle. As with other computer math opera- 


tions, be sure to enter an asterisk for 
multiplication. 

Cryptarithm Solver works at ML 
speeds, but even that isn't fast enough 
for instantaneous results. Depending 
on the formula, the program can per- 
form as many as 60 tests a second, so 
it would still take half a day to solve 
some puzzles. 


Even Faster 

One way to shorten the time is to put 
the result first on the line. As an exam- 
ple, look at MONEY=SEND+MORE. 
Cryptarithm Solver starts by assigning 
1 to M; usually, that is the correct digit 
for the first place in the sum. So, you 
can save testing for the other eight dig- 
its, and this can mean solving most puz- 
zles in less than an hour. The exam- 
ples here ranged from 40 seconds to 
three hours, using these tips. 


Other Languages 
Cryptarithm Solver is not restricted to 
English. It also works in French. 


ELEVE+LECON=DEVOIR 


This translates loosely to become STU- 
DENT+LESSONS=HOMEWORK. If we 
entered the words into Cryptarithm 
Solver as ELEVE+LECON=DEVOIR, 
the D (which logically is 1), would be as- 
signed 7, and it would have to go 
through the whole cycle to solve. By re- 
versing the order, D is assigned 1 im- 
mediately, and the solution is that 
much quicker. It took me 64 minutes. 
(I'll give you this one. The answer is 
69656 + 96078 = 165734.) 

When the program finds a solution, 
leave it running to search for other an- 
swers. When all reasonable solutions 
have been tried, however, you'll want 
to stop it. To quit, hold down the Q 
key. You'll be asked if you wish to con- 
tinue. Press Y to continue or N to stop. 
To slow the action, hold down the Ctrl 
key. But be warned; the solutions take 
much longer. 

| hope you enjoy Cryptarithm 
Solver, yet one more way the brute- 
force methods of computing can yield 
practical results and eliminate all that 
difficult thinking for us humans. To end, 
here are two more puzzles: 


PETER+PETER+PETER+PETER=REPEAT 


MARS+VENUS+SATURN+URANUS=NEPTUNE 
CRYPTARITHM SOLVER 


PH 166 REM COPYRIGHT 1993 - CO 


RH 


XK 
AQ 


BX 
RE 
XB 


EM 


AR 


sD 


MS 
EB 


sc 


PP 


DK 


QH 


165 


116 
126 
139 
146 
156 


166 


176 


174 
176 
178 
184 
199 
280 
216 
226 
236 
246 
256 
266 
276 


286 
296 


306 


316 


326 


3390 


MPUTE PUBLICATIONS INTL 
LTD - ALL RIGHTS RESER 
VED 
POKE 53286,0:POKE 53281 
,@:PRINT" {CLR} {YEL} {H} 
{n}" 
PRINT"{8 SPACES}CRYPTAR 
ITHMS{2 SPACES}SOLVER 
PRINT"{11 SPACES}BY D.P 
ANKHURST Tanah 
PRINT 
INPUT "CODE STRING";XS$ 
DIM L(2@) :L=6:GOSUB356: 
PP=P:¥$="1823456789" 
FOR I=1 TO LEN(Y$) :POKE 
C-1+I,ASC (MIDS (Y¥$,1,1 
) :NEXT: POKE CM,LEN (YS) - 
1 
FOR I=l TO LEN(X$) :POKE 
511+1,ASC (MIDS (X$,I,1) 
) :NEXT:POKE I,@:SYS 491 
55 
FOR J=1 TO I-l:IF PEEK( 
511+J)THEN 178 
PRINT" {RVS} EMBEDDED BA 
SIC FUNCTION OR COMMAND 
~{OFF}":END 
NEXT: Y=1 
IF PEEK(511+Y)<>@ THEN 
{SPACE}¥=Y+1:GOTO 186 
FOR K=l TO Y¥-1:C=PEEK(5 
11+K) :CS=CHRS$(C):IF CS< 
"A" OR C$>"Z" THEN25G 
IF L=@ THEN236 
Y=-1:FOR I=@ TO L-l:1F 
{SPACE}L(I)=C THEN Y=I 
NEXT:IF Y<>-1 THEN24G 
L(L) =C:Y=L:L=L+l 
POKE PP,K:POKE PP+1,¥:P 
P=PP+2 
NEXT:POKE PC,PP-P:FOR I 
=@ TO L-1:POKE X+I,I:NE 
XT:POKE MX,L-1 
PRINT" {CLR}"; :F=0 
PRINT" {HOME}{24 DOWN} " 
X$;:SYS 49152 
POKE 198,0:Y=PEEK(781 
IF y=255 AND F=@ THEN P 
RINT: PRINT" {UP}{RVS} SO 
RRY-NO MATCH {OFF}":GOT 
0346 
IF Y=255 THEN PRINT: PRI 
NT"{UP}{RVS} END OF LIS 
TS {OFF}":GOTO34G 
IF Y¥<>1 THEN336 
F=F+1:PRINT"{2 SPACES}" 
INT (TI/6) /16"SECONDS";: 
PRINT: PRINT" "X$;:SYS 4 
9158:GOTO28¢ 
IF Y=9 THEN PRINT" 
{2 SPACES}CONTINUE?"; :W 
AIT 198,255:GET YS:IF Y 


EF 


DD 


RC 


DR 
RS 


HQ 
KA 
HP 
AQ 
FC 


SH 
SE 
FK 
XH 
KR 
ER 
FB 
JD 
KM 
JE 


PA 


HE 


sc 


HB 
RS 
HQ 
JJ 


HD 


346 


359 


368 


376 
466 


410 
426 
436 
446 
456 


466 
476 
486 
490 
566 
516 
526 
536 
546 
556 


566 


576 


586 


596 
666 
619 


626 


636 


$="Y"THEN27@ 
PRINT:PRINT" FINISHED A 
T"INT(TI/6)/1@ "SECONDS 
"SEND 
TIS="9660G6":DS=1984:1F 
PEEK (44)<>18 THEN GOSU 
B 466 
DX=56432:NX=DX+1:MX=NX+ 


1:X=MX+1:T=X+80:CM=T+86 
:C=CM+1:PC=C+8G:P=PC+1: 
R=P+80 
RETURN 


RESTORE:FOR I=@ TO-1 ST 
EP-1:READ Y$:I=VAL(Y$)= 
-1L:NEXT:X= 49152:DATA - 
1 

READ Y:IF Y<>-2 THEN PO 
KE X,¥:X=X+1:GOTO 416 
RETURN 

DATA{2 SPACES}24,144, 3 
G6, 76,{2 SPACES}9,192, 
{SPACE}56 
DATA 176, 
2,165,123 
DATA{2 SPACES}72,169, 
{2 SPACES}2,133,123,169 
,{2 SPACES}@ 
DATA 133,122, 
5,104,133 
DATA 123,104,133,122, 9 
6,173,{2 SPACES}2 

DATA 197,141,{2 SPACES} 
G,197,165,122, 72 

DATA 165,123, 72,176, 
{2 SPACES}6, 32, 63 
DATA 192, 76, 56,192, 3 
2,137,192 

DATA 1064,133,123,104,13 
3,122, 96 

DATA 174,244,197,142, 6 
9,198,206 

DATA{2 SPACES}69,198,17 
4, 69,198,188,245 

DATA 197,196,{2 SPACES} 
3,197,189,164,197 

DATA 206, 69,198,174, 6 
9,198, 48 

DATA{2 SPACES}15,188,24 
5,197,153,192, 

{2 SPACES}7 

DATA 153,255,{2 SPACES} 
1,174, 69,198, 76 
DATA{2 SPACES}69,192,16 
9,255,162,{2 SPACES}1,1 
33 

DATA 122,134,123, 
5,{2 SPACES}@, 32 
DATA 158,173,165, 
G,{2 SPACES}3,162 
DATA{3 SPACES}1, 96,165 
7,197,261, 62,208 

DATA{3 SPACES}3,162, 

{2 SPACES}@, 96,173,141 
,{2 SPACES}2 

DATA 201,{2 SPACES}4,20 
8, 17,169,{2 SPACES}5,1 
6G 


24,165,122, 7 


32,124,16 


32,11 


97,24 


DS 
KC 


XM 


HQ 
AD 
Js 


AX 


JM 
HB 
KQ 
RP 


QQ 


RX 


QF 


RF 


HM 


EM 


XK 


648 
656 


669 


679 
685 
698 


796 


716 
726 
736 
746 


756 


768 


776 


786 


796 


806 


816 


DATA 255,162,255,262,20 
8,253,136 

DATA 208,248,176,202,13 
8,208,241 

DATA 174,{2 SPACES}@,19 
7,188,{2 SPACES}3,197,2 
86 

DATA 140,{2 SPACES}1,19 
7,174,163,197,169 
DATA{3 SPACES}6,157, 83 
7,197,262, 16,256 

DATA 174,{2 SPACES}6,19 
7,169,255,202, 48 
DATA{3 SPACES}9,188, 

{2 SPACES}3,197,153, 83 
7197 

DATA 202, 16,247,173, 
{2 SPACES}1,197,295 
DATA 163,197,246, 

{2 SPACES}2,176, 48,172 
DATA{3 SPACES}1,197,185 
+ 83,197,208, 12 

DATA 174,{2 SPACES}6,19 
7,173,{2 SPACES}1,197,1 
57 

DATA{3 SPACES}3,197, 76 
1235,192,238,{2 SPACES} 
a 

DATA 197, 76,199,192,17 
3,{2 SPACES}@,197 

DATA 205,{2 SPACES}2,19 
7,208,{2 SPACES}3, 76, 
{SPACE}63 

DATA 192,238,{2 SPACES} 
G,197,169,{2 SPACES}@,1 
41 

DATA{3 SPACES}1,197, 76 
7171,192,206,{2 SPACES} 
6 


DATA 197, 16,155,162,25 
5, 96 
DATA -2 


David Pankhurst, the author of the 
Calc II spreadsheet, lives in Montreal, 
Quebec, Canada. 


FLASHER 64 


By Henry Sopko 

Focus attention to where you want it on- 
screen with Flasher 64. You can make 
words or graphic characters flash, scroll 
the screen while they flash, and have as 
many characters flashing as you want. 


Flasher 64 is a short machine lan- 


guage program. To enter it, use MLX, our 
machine language entry program. See 
“Typing Aids" elsewhere in this section. 
When MLX prompts, respond with the fol- 
lowing addresses. 


Starting address: CCOO 
Ending address: CDF7 


JULY 1993 COMPUTE G-37 


PROGRAMS 


Be sure to save a copy of the program 
before you exit MLX. 

With just two commands, you can 
make a word or a graphic character 
flash anywhere on the screen. As with 
the 128 in 80 columns, you can use 
the command CHR&$(15) to turn on the 
flashing and use CHR$(143) to turn it 
off. All characters can be made to 
flash with the exception of characters 
254 and 255. These two characters are 
used in a special way in the program. 
However, they can be used in the non- 
flashing mode. 

You can also use your own custom 
characters as long as the screen mem- 
ory stays at $0400 (default). Flasher 64 
commands can be entered in both di- 
rect and program modes. Since Flash- 
er runs in the background using the 
IRQ routine, your BASIC or machine lan- 
guage programs will continue to exe- 


cute as normal without slowing down. | 


How It Works 

A second screen was necessary to ac- 
complish this flashing technique. The 
second screen, located at $C800, is 
filled with the byte value of $FF. Then, 
when the command CHR&%(15) is 
used, the character(s) are redirected to 
the second screen. The command 
CHR$(143) or a carriage return will can- 
cel the printing of the character(s) to 
the second screen and resume print- 
ing them to the main screen. While 
this is happening, the IRQ routine is 
scanning for characters on the second 
screen. Any character other than 255 
will be printed to the main screen locat- 
ed at $0400 (1024). 

Two phases are required to make 
characters flash. The first phase puts 
the characters on the screen, while the 
second fills them with blank spaces giv- 
ing the effect of flashing characters. 

Also, it was necessary to copy the 
BASIC ROM and the Kernal ROM to 
the underlying RAM to support the 
scrolling of the flashing characters. A 
few changes were made to the Kernal 
so that the two screens would be in 
sync with each other when the screen 
is scrolled. 

To use Flasher 64 in your program, 
you must first execute the program 
with SYS 52224. Do this only at the be- 
ginning of your program. After you 
have issued this SYS command, use 
G-38 COMPUTE JULY 1993 


the commands CHR$(15) and 
CHRS$(143) to turn on and off the flash- 
ing sequence. 

For example, after you've entered 
the SYS command, enter the following 
line in immediate mode. 


PRINTCHRS(15)‘'FLASH ON” CHR$(143) 
“FLASH OFF” 


It's also possible to turn off all or 
just part of a flashing word. Simply 
send the character 255 to the second 
screen in the area that you wish to 
have the flashing stopped. In order to 
send the character 255, you must first 
use the PRINTCHR$(15) and then in 
quotes press the Ctrl-Rvs keys simulta- 
neously. While you're still in quote 
mode, hold down the Commodore logo 
key along with the B key. This produc- 
es a character value of 255. 


A Demonstration 

For a demonstration of how these com- 
mands are used, enter the demo pro- 
gram and study its commands. The 
demo is written in BASIC. To help you 
avoid typing errors, enter it with The Au- 
tomatic Proofreader. Again, see ‘“Typ- 
ing Aids.” Since the demo loads and 
runs Flasher 64, make sure both pro- 
grams are on the same disk. After 
you've studied the demo, you should 
easily be able to use Flasher 64 in 
your own programs. 

Some cartridges may interfere with 
Flasher 64. To use the program with Su- 
per SnapShot v5, use the cartridge’s 
>Q command to quit the wedge since 
Flasher 64 changes the IBSOUT vec- 
tors to point to its own routine. This prob- 
lem occurs only in the direct mode. 


FLASHER 64 


CCGG:2G B6 CD A2 75 86 Gl 26 23 
CC@8:96 CC AJ 26 78 A2 C6 AG D3 
CC16:CC 8E 14 63 8C 15 63 58 7D 
CC18:A2 @@ 86 92 A2 26 AG CC BB 
26 @3 8C 27 G3 BE 94 AA 
AE 95 CC FG G6 20 7B AE 
26 6G CC C9 93 FG 22 Bl 
GF DG 63 26 66 CC C9 AA 
DG 63 26 7B CC C9 GD E7 
GA AE 88 62 EG G8 90 SF 
CC56:93 26 7B CC AE 94 CC 4C 5D 
CC58:CA Fl 26 96 CC 4C 38 CC 16 
CC68:8D 91 CC A5 D2 8D 92 CC D7 

3 69 C4 85 D2 AQ C8 8D B5 
62 AQ $1 8D 95 CC AD 1E 
CC78:91 CC 68 8D 91 CC AD 92 AG 


CC8G:CC 85 D2 AY G4 8D 88 G2 4G 
CC88:A9 86 8D 95 CC AD 91 CC OF 
CC96:66 GB BB GB GB BB BE 91 G9 
Cc98:CC 8C 92 CC A2 BG AD FF 43 
CCAG:A2 GG AG C8 86 FB 84 FC 56 
CCA8:AG OG 91 FB C8 CO 6B DG IE 
CCB@:F9 E8 EG G4 FO G5 E6 FC 44 
CCB8:4C AA CC A9 FE 8D E8 CB 23 
CCCG:A9 93 AE 91 CC 68 G8 48 43 
CCC8:8A 48 98 48 E6 G2 A6 G2 DF 
CCDG:EG 14 FG G3 4C 21 CD A2 53 
CCD8:96 86 G2 A2 6G AG C8 86 19 
CCEG:FB 84 FC A2 6G AG G4 86 74 
FE AG 69 Bl FB C9 15 
28 C9 FF DG G8 CB 64 
F@ 18 4C ED CC A6 EC 
@1 FG GA 91 FD C8 A7 
CD@8:CG 8G FB G8 4C ED CC AY FF 
CD16:20 4C 65 CD E6 FC E6 FE 44 
CD18:4C ED CC A5 92 49 61 85 BA 
CD20:92 68 A8 68 AA 68 28 4C 4E 
CD28:31 EA A9 C8 AG 28 8D 46 DF 
CD36:CD 8C 45 CD A9 C8 AG GD GD 

3 CD 8C 4C CD A2 6G 4F 
84 FE B9 6G 6G C9 44 
28 99 6G 8G CB CO 9G 
Fl 18 AD 45 CD 69 7B 
CD58:28 B@ 25 8D 45 CD 18 AD FO 
CD66:4C CD 69 28 B® 27 8D 4C CE 
CD68:CD A@ OG A6 FE E6 FE E@ EF 
CD76:1A D@ Dl AG BG AD FF 99 D1 
CD78:C@ CB C8 CO 28 DG F8 6G 63 
CD86:8D 45 CD EE 46 CD E6 FE 13 
4C 5E CD 8D 4C CD EE 
CD E6 FE A® GB 4C ES 
78 8E 91 CC A2 64 CA 
@2 AE 91 CC 4C C8 Fl 
CDA8:E9 8E 91 CC 26 2A CD AE CF 
CDB@:91 CC 58 4C FF E9 AG GB G1 
CDB8:84 92 A2 AG 84 FB 86 FC 93 
CDCG:A2 @@ Bl FB 91 FB C8 D@ 82 
E@ 26 FO G5 E6 FC 26 
CD E6 62 A5 @2 C9 DF 
@7 A2 E@ 86 FC 4C 24 
CDEG:C@ CD A2 9A AG CD 8E GF B6 
CDE8:E9 8C 18 E9 A2 AY AG CD 48 
CDF@:8E 14 E9 8C 15 E9 66 OG EF 


FLASHER DEMO 
HG 5 REM COPYRIGHT 1993 - COMP 
UTE PUBLICATIONS - ALL RI 
GHTS RESERVED 
REM FLASHER 64 DEMO 
POKE5328G ,G:POKE53281,0 
IFL=@THENL=1:LOAD"FLASHE 
R 64.ML",8,1 
SYS52224:REM TURN ON FLA 
SHER 64 


PRINTCHRS (147) ;:REM CLEA 
RS SCREENS 

PRINT"{1l SPACES} {RVS} 
{YEL}DEMO OF FLASHER 64" 
PRINT 

PRINT" {WHT}USE THE COMMA 
ND: {RED}PRINTCHRS(15 

{2 SPACES}TO TURN ON FLA 
SHING" 

KR 108 PRINT" {RVS}{CYN}EG: 


PR 


KE 
QA 


DH 


BS 
EF 
KS 


KB 


AP 


cP 


RB 
cs 


CM 


KJ 


CE 


EK 


EK 


BD 


CG 


BE 


MH 


MK 


QxX 
CG 


HK 


GF 


116 


126 
136 


146 


156 
166 
176 


186 


199 
266 


216 
226 


238 


240 
256 


266 


276 


286 


296 


306 


310 


328 


336 
346 


359 


366 


{OFF}{2 SPACES}PRINTCHR 
$ (15) "CHRS$ (34) "FLASHER 
{SPACE}NOW ON"CHRS (34) 
PRINTCHRS$ (15) "FLASHER N 
OW ON":REM COMMAND TO T 
URN ON FLASHING 
FORD=1T06006:NEXT 
PRINT: PRINT" {WHT}USE TH 
E COMMAND: {RED}PRINTCH 
R$(143){2 SPACES}TO TUR 
N OFF FLASHING." 
PRINT" {RVS} {CYN}EG: 
{OFF}{2 SPACES}PRINTCHR 
$ (15) "CHR$(34) "FLASH ON 
"CHRS (34) "CHRS$ (143) "CHR 
$(34); 

PRINT" FLASH OFE"CHRS (3 
4)" 

PRINTCHR$(15) "FLASH ON" 
CHRS(143)" FLASH OFF" 
FORD=1T06000:NEXT:REM D 
ELAY LOOP 

PRINT: PRINT" {WHT}USE TH 
E COMMAND: {RED}PRINTCH 
R$ (15) "CHRS$ (34) "{RVS} 
{7 B}"CHRS (34); 
PRINT"TO TURN OFF A FLA 
SHING WORD." 

PRINT: PRINT" {RVS} (CYN}E 
G:{OFF}{2 SPACES}PRINTC 
HRS (15) "CHR$ (34) "FLASH 
{SPACE}ON"CHRS$ (34) : PRIN 
T 

PRINTCHRS$ (15) "FLASH ON" 
FORD=1T03000:NEXT:REM D 
ELAY LOOP 

PRINT: PRINT" {CYN} {RVS}E 
G:{OFF}{2 SPACES}PRINTC 
HR$ (15) "CHRS (34) "{RVS} 
{7 B}"CHRS (34); 
PRINT"TO TURN OFF A FLA 
SHING WORD." 

REM IFPEEK (146) <>1THENL 
406:PEEK THIS LOCATION F 
OR ON OR OFF CYCLE 

REM IF PEEK(146)=1 THEN 
CHARACTERS ARE ON SCRE 
EN 

REM IF PEEK(146)=0 THEN 
CHARACTERS ARE OFF SCR 
EEN 


IFPEEK (146) <>1THEN25@:R 
EM 

PRINT"{4 UP}";:REM MOVE 
UP TO WORD 
PRINTCHRS (15) "{RVS} 

{8 Bp" 
FORD=1T06660:NEXT:REM D 
ELAY LOOP 

PRINT: PRINT: PRINT 
PRINT"SCROLL FLASHING C 

HARACTERS OFF SCREEN" 
FORX=1T024:FORD=1T025:N 

EXTD: PRINT: NEXTX 

PRINT" {WHT }***k keke RAT 

CHR$(15)" {PUR} {RVS}THA 


TS ALL FOLKS!{OFF} "CHR 
$ (143) "(WHT } t** ee RR RR 
{Cyn}" 


Henry Sopko lives in Hamilton, Ontar- 
jo, Canada. 


TYPE-SIM 


By Donald G. Klich 

This program was designed to let you 
use your 64 or 128 as a typewriter for fill- 
ing in the blanks on preprinted forms, ad- 
dressing envelopes, typing labels, and 
other such tasks. Preprinted forms are 
usually designed with vertical spacing of 
six lines to the inch, the same as most 
printers. Therefore Type-Sim allows you 
to set your printer on the first entry line 
and move down the form as necessary. 
With Type-Sim you can set a left or right 
margin to orient your entries. 


Typing It In 

The program is written in BASIC 2.0 
and will run on either the 64 or 128. 
Use The Automatic Proofreader to 
avoid typing errors. See “Typing Aids” 
elsewhere in this section. Be sure to 
save your program before using it. To 
take advantage of Type-Sim's upper- 
and lowercase printing, be sure your 
printer is in the ASCII conversion 
mode or an equivalent mode. 


Operation Menu 
When you run Type-Sim, you'll see a 
menu that offers four data-entry oper- 
ations (options) and an exit option. Op- 
tion 1 allows you to set up a form in the 
printer so that your text will print in the 
desired location. You must first supply 
a column position, perhaps along the 
edge of the form, where you can test- 
print an X. When the X prints, the com- 
puter sends a backspace and a re- 
verse linefeed. You should adjust the 
form to make sure the printing is in the 
desired location. You can repeat the op- 
tion by pressing the space bar. When 
the form is correctly positioned, press 
Return to go back to the menu. 
Option 2 allows you to select wheth- 
er the following entries will be left (L) or 
right (R) justified, For instance, a busi- 
ness address would be left oriented 
while entries on an income tax form 
would be right oriented. See the next 
option for setting margin settings. 


Option 3 is where you enter your 
text. Before you start, however, you 
must indicate the left or right margin set- 
ting from which your entries will print. 
The program will pack data to the 
right of a left margin or immediately to 
the left of a right margin. 

After you've entered the margin set- 
ting for this particular entry and 
pressed Return, you'll be prompted to 
enter the phrase or line of text to be 
printed. Press Return to print. If you 
need linefeeds to move the print 
head, you'll have that option after you 
print each entry. To return to the menu, 
press the up-arrow (T) key. 

Option 4 permits you to select any 
additional linefeeds you may require to 
move down the form. 

Option 5 exits the program. 


TYPE-SIM 
HH 1@ REM COPYRIGHT 1993 COMPU 
TE PUBLICATIONS INTL LTD 
- ALL RIGHTS RESERVED 
REM TYPEWRITER SIMULATOR 
POKE53281,0:POKE53283,0: 
OPEN1, 4: PRINT" {CLR} "SPC ( 
8)"{2 DOWN} {BLU}UCCCCCCC 
cecccccccecccci" 
PRINT" (BLU) {8 SPACES}B 
{1}TYPEWRITER SIMULATOR 
{BLU}B": PRINTSPC (8) "JCCC 
cccecccececcccccck" 
PRINT" {DOWN} (CYN} 
{16 SPACES}MENU OF OPERA 
TIONS:" 
PRINT" {DOWN} {7 SPACES} 
{RVS}{YEL}1{OFF} {WHT} SE 
T UP FORM IN PRINTER" 
PRINT"{7 SPACES} {RVS} 
{YEL}2{OFF} {WHT} SET UP 
{SPACE}L-R POINTER" 
PRINT"{7 SPACES} {RVS} 
{YEL}3{OFF}{WHT} INPUT T 
YPING ROUTINE" 
PRINT" {7 SPACES}{RVS} 
{YEL}4{OFF} {WHT} EXTRA L 
INE FEEDS" 
106 PRINT"{7 SPACES}{RVS} 
{YEL}5{OFF} {WHT} QUIT P 
ROGRAM" 
GOSUB440:ONVAL (A$) GOTO] 
20,198,250,410,438:GOTO 
116 
PRINT"{3 DOWN} {GRN}TO A 
LIGN THE FORM, ENTER TH 
E HORIZONTAL" 
PRINT"COLUMN WHERE A RE 
PEATED {1}X{GRN} CAN BE 
PRINTED" 
PRINT" {DOWN}USE SPACE T 
O REPEAT THE {1}X{GRN} 
{SPACE}AND RETURN TO EX 


JULY 1993 COMPUTE 


GS 
GB 


20 
36 


XH 46 


AK 5G 


AF 69 
RB 76 
DA 86 
RR 96 
JH 
FP 116 
SA 126 
BX 136 


Sc 146 


G-39 


PROGRAMS 


FD 


PR 


FR 


EK 


SA 


DS 


QG 


PM 


HQ 


XK 


DM 


PR 


G-40 


15¢ 


166 


176 
186 
199 
206 
216 


226 


236 


246 
256 
260 


In"; 
PRINT". {2 SPACES}ENTER 
{SPACE}COLUMN NUMBER:"; 
:INPUTN 
PRINT#1,SPC(N) "X":PRINT 
#1,CHR$ (27) ;CHRS (106) ;C 
HRS (@) : PRINT#1,CHR$ (27) 
7"Q"G 
GOSUB440: IFAS=CHR$ (32)T 
HEN16@ 
IPAS=CHRS (13) THENSG 
PRINT"{2 DOWN} {GRN}ENTE 
RAN {YEL}L{GRN} IF YOU 
ARE PLANNING TO" 
PRINT"ORIENT YOUR ENTRI 
ES TO THE LEFT": PRINT 
PRINT"ENTER AN {YEL}R 
{GRN} IF YOU ARE PLANNI 
NG TO" 
PRINT"ORIENT YPUR ENTRI 
ES TO THE RIGHT":PRINT" 
L/R?{2 SPACES}";:GOSUB4 
43:MS=AS 
PRINTM$: IFM$<>"L"ANDMS< 
>"R"THENLOG 
GOTO5a 
PRINTCHRS (14) 
IFMS<>"L"ANDMS$<>"R"THEN 
PRINT"{2 DOWN} {1} 
{4 SPACES}L OR R LOCATO 
R ?":PRINTCHRS (142) :GOT 


- 0196 


276 


286 


296 


366 


316 


326 


336 


346 


356 


366 


PRINT" {CLR} {GRN} 
{2 DOWN} {5 SPACES}ENTER 
AN UP ARROW ({YEL}T 
{GRN}) TO QUIT" 
LOS="LEFT": I FMS="R"THEN 
TIGHT" 
PRINT"{GRN} ENTER 
THE PRINT POSITION FOR 
YOUR ";LOS;:INPUT" MAR 
GIN"; AS 
IFAS=CHR$ (94) THENPRINT" 
{CLR}"CHR$ (142) :GoTO56 
IFVAL (A$) >8GORAS=""THEN 
250 
P=VAL (AS) :AS="": PRINT" 
{5 SPACES}ENTER PHRASE 
{SPACE}TO BE PRINTED 
{WHT }":INPUTAS 
IFA$=CHRS$ (94) THENPRINT" 
{CLR} "CHR$ (142) :GOTOSG 
IFM$="L"THENN=P: IFN+LEN 
(A$) >8@THENPRINT"NO 
{SHIFT-SPACE}ROOM 
{SHIFT-SPACE }TO 
{ SHIFT-SPACE}PRINT":GOT 
0296 
IFMS$="R"THENN=P-LEN (AS) 
+1: IFN<OTHENPRINT "NO. 
{ SHIFT-SPACE} ROOM 
{SHIFT-SPACE}TO 
{SHIFT-SPACE}PRINT":GOT 
0296 
PRINT#1,SPC(N) ;A$:PRINT 
#1,CHRS (27) ;CHRS (106) ;C 
HRS (@) : PRINT#1,CHRS (27) 


COMPUTE JULY 1993 


ime"; 
PRINT"{GRN}{5 SPACES}LI 
NE FEED? ¥/N{3 SPACES}" 
7 2GOSUB44:PRINTAS 
IFAS$=CHRS (94) THENPRINT" 
{CLR} "CHRS$ (142) :GOTO56 
IFAS="Y"THENPRINT#1,"": 
GOTO258 

GOTO259 

PRINT" {GRN}{2 DOWN} 

{5 SPACES}ENTER NUMBER 
{SPACE}OF LINE FEEDS";: 
INPUTAS: IFVAL (A$) =@THEN 
56 
FORI=1TOVAL (A$) : PRINT#1 
:NEXT:GOTO5@ 

CLOSE1:END 

AS="":GETAS: [FAS=""THEN 
440 

RETURN 


HX 376 


386 
396 


406 
416 


426 


438 
446 


456 


Donald Klich is a frequent contributor. 


His most recent program, CrossRef 
128, appeared in the May 1993 issue. 
He lives in Mount Prospect, Illinois. O 


TYPING AIDS 


MLX, our machine language entry 
program for the 64 and 128, and 
The Automatic Proofreader are util- 
ities that help you type in Gazette 
programs without making mis- 
takes. To make room for more pro- 
grams, we no longer include 
these labor-saving utilities in eve- 
ry issue, but they can be found on 
each Gazette Disk and are printed 
in all issues of Gazette through 
June 1990. 

If you don’t have access to a 
back issue or to one of our disks, 
write to us, and we'll send you 
free printed copies of both of 
these handy programs for you to 
type in. We'll also include instruc- 
tions on how to type in Gazette pro- 
grams. Please enclose a self-ad- 
dressed, stamped envelope. Send 
a self-addressed disk mailer with 
appropriate postage to receive 
these programs on disk. 

Write to Typing Aids, COM- 
PUTE’s Gazette, 324 West Wen- 
dover Avenue, Suite 200, Greens- 
boro, North Carolina 27408. 


ONLY 
ON 
DISK 


In addition to the type-in programs 
found in each issue of the magazine, 
Gazette Disk offers bonus programs. 
Here’s a special program that you'll 
find only on this month's disk. 


Mergee 

By Robert Quinn 
Kooringall, Waga Waga 
NSW, Australia 


This month's bonus program is a 
tough, thinking-person’s game for 
the 64 that can be played from the 
keyboard or joystick. The game be- 
gins with a playing field that's filled 
with single-digit numbers, random 
boxes, squares, and open spaces. 
The object of Mergee is to move 
the numbers around so that they 
merge with other numbers and disap- 
pear from play. Only like digits can 
merge, however, and when all of the 
numbers are gone, the game is 
over. The rules are simple, but there 
are a few surprises waiting for you 
that'll make Mergee almost as frus- 
trating to play as it is entertaining. 


Public Domain Programs 


Don't forget that Gazette Disk now 
contains the best of public domain 
Programs and shareware. For a com- 
plete rundown of the programs on 
this disk, see Steve Vander Ark's 
“Share This" column, which makes 
its debut in this issue of Gazette. 


You can have these programs and 
all of the type-in programs found in 
this issue—ready to load and run— 
by ordering the July Gazette Disk. 
The price is $9.95 plus $2.00 ship- 
ping and handling. Send your order 
to Gazette Disk, COMPUTE Publica- 
tions, 324 West Wendover Avenue, 
Suite 200, Greensboro, North Caro- 
lina 27408. You can order by credit 
card by calling (919) 275-9809, ex- 
tension 283.